Soy nuevo en SVN y hay algo en lo que estoy atascado. Durante mucho tiempo he estado desarrollando sitios web localmente (configuración de MAMP) y luego estoy trabajando en todo el sitio cuando está listo. Cualquier pequeño cambio adicional que realice directamente en el sitio en vivo y de vez en cuando volveré a descargar todos los archivos en el servidor en vivo a mi servidor local (ya que nunca puedo recordar todos los archivos que he cambiado). Obviamente, esta no es la mejor manera de hacer las cosas. Tenía curiosidad de cómo podía configurar SVN en un servidor web en vivo, por lo que cada cambio que realice localmente se insertará en el sitio web cuando se lo indique. ¿Dónde creo el svn repo? /dominio.com/www/svn? ¿Puedo crear el directorio www como el repositorio real y, de ser así, esta mala práctica?¿Cómo usar svn en un servidor apache activo?
Respuesta
¡No cree el repositorio en el directorio del servidor web! Esa es la primera parte de tu problema.
Su repositorio puede vivir en cualquier lugar, simplemente no lo coloque en el directorio del servidor web.
Al configurar servidor web Apache (si eso es lo que está utilizando), configurarlo para que ignore las carpetas .svn así:
<DirectoryMatch \.svn>
Order allow,deny
Deny from all
</DirectoryMatch>
Ahora, en otro lugar, aparte de su servidor web, crear una subversión repositorio. Pague desde ese repositorio en un directorio de trabajo en otro lugar que no esté en el directorio de su servidor web. Ahora puede importar todos los archivos que estarán en su repositorio aquí y enviarlos a su repositorio de Subversion.
Una vez que haya hecho eso, puede ir al directorio de su servidor web donde desea que aparezcan estos archivos, y hacer una compra.
usted debe tener tres cosas:
- Un repositorio de Subversion que es no en el directorio de su servidor web.
- Un directorio de trabajo que contiene todos sus archivos en su sitio web que es que no está en el directorio de su servidor web.
- Un directorio de trabajo que se encuentra en el directorio de su servidor web.
El plan es el siguiente: Realiza los cambios en el directorio de trabajo que no está en el directorio de su servidor web. Puedes hacer tus pruebas aquí y confirmar tus cambios aquí. También haces todas tus pruebas aquí también.
Una vez que esté satisfecho con todo, puede hacer un svn update
en el directorio de trabajo de Subversion que se encuentra en el directorio de su servidor web. Entonces, usted hace su trabajo fuera del servidor web, prueba y luego hace un svn update
en el directorio del servidor web.
Si quieres ser realmente elegante, puedes crear una rama web que represente el código en el directorio de tu servidor web. Luego, puedes verificar y codificar tu código todo lo que quieras. Cuando esté listo para implementarlo en su sitio web, puede fusionarlo en la rama web. Cuando actualice el directorio de trabajo en el directorio de su servidor web, solo extraerá el código en la rama web.
De hecho, podría automatizar ese proceso con algún tipo de cronjob. Baja su sitio web, actualiza el directorio de trabajo de subversión en el directorio de su servidor web y luego reinicia su sitio web. Esto asegura que los archivos que un usuario de la web está mirando no cambian desde debajo de ellos.
Muchas gracias, creo que ha respondido a mi pregunta, pero aún tengo que investigar un poco más sobre svn para asegurarme de que lo entiendo. Se me ocurrió un diagrama rápido, ¿pueden verificar esto y ver si los entiendo correctamente? http://danramosd.com/svn_diagram.png – dan
Lo siento, no vi el diagrama. Los dos primeros capítulos del [libro de Subversion] (http://svnbook.red-bean.com/en/1.5/index.html) explican cómo funciona todo. Es uno de los mejores manuales de código abierto que he visto en mi vida. Como Subversion es gratuita, descárgala y sigue los ejemplos del libro. Con en una semana, obtendrás una excelente idea de cómo funciona Subversion. Uso Git y Subversion para mis proyectos, pero prefiero Subversion por varias razones. –
buen consejo para bloquear las carpetas .svn de las solicitudes http. –
lo haría configuración de una estructura en su svn checkout (en su caja local) que coincide con los archivos que necesita para almacenar (y no necesariamente coincide con la estructura del servidor), por ejemplo:
my-project
my-project/docs/README.txt (any documentation you want to write)
my-project/www/index.html (etc)
y pronto. Entonces,
(1) Si usted tiene acceso a la ejecución de comandos en el servidor, me gustaría iniciar sesión y hacer por ejemplo:
cd /domain.com
rm -rf www
svn co https://svn.myserver.com/my-project/www www
(2) De lo contrario, me echa un vistazo a los archivos en el equipo local y ftp ellos a través del servidor.
La opción (1) es mejor, pero incluso con la opción (2) tiene ventajas sobre su configuración actual. Si cambia los archivos en el servidor, puede convertir todo el directorio en su carpeta local en un nuevo directorio y luego "enviar" los archivos al servidor de subversión. Subversion (con los directorios .svn
, que necesita copiar desde/hacia el servidor) sabrá qué archivos ha cambiado.
- 1. Cómo usar C++ para el servidor apache
- 2. CollabNet Servidor SVN o VisualSVN?
- 3. ¿Configurar un servidor SVN?
- 4. ¿Cómo me conecto a un servidor SVN en ubuntu?
- 5. Raíles 3 Activo Pipeline + Apache + Phusion Passenger
- 6. ¿Cómo comienzo a usar SVN?
- 7. Cómo usar palabras clave personalizadas en SVN
- 8. ¿Cómo ejecuto Django y PHP juntos en un servidor Apache?
- 9. ¿Cómo crear un repositorio SVN en el servidor?
- 10. ¿Hay alguna manera de usar la Autenticación de Windows (Directorio Activo) para un servidor Git?
- 11. servidor svn sincronizar automáticamente
- 12. Cómo configurar un servidor de Subversion (SVN) en GNU/Linux - Ubuntu
- 13. Configuración de un usuario de solo lectura para SVN-Apache
- 14. SVN: cambio de usuario activo en el repositorio desprotegido
- 15. Cómo usar django-compressor con apache?
- 16. ¿Cómo usar SEQUENCE en Apache Derby?
- 17. ¿Cómo llamar a R desde un servidor web (como Apache)?
- 18. Eclipse WTP: ¿Cómo activo SSL en Tomcat?
- 19. Un servidor Subversion para ventanas (SVN) de tortuga cliente
- 20. Uso de WebSocket en el servidor Apache
- 21. ¿Cómo obtengo el registro del servidor SVN?
- 22. Ejecutar Silverlight con servidor Apache (en Linux)
- 23. Convierta un checkout SVN para usar git (git-svn)
- 24. Servidor de repositorio SVN público o privado?
- 25. El servidor Apache ignora .htaccess
- 26. ¿Cómo activo un segundo monitor en C#?
- 27. Cuándo usar la importación en SVN?
- 28. ¿Cómo sirvo html a través de svn? (¿Puede svn actuar como un servidor web?)
- 29. ¿Para usar el objeto activo o no?
- 30. 502 Bad Gateway con nginx + apache + subversion + ssl (COPIA SVN)
¿Su servidor web en vivo tiene conectividad con el servidor de Subversion? – jgifford25