Pregunta

Tomemos un entorno de desarrollo web, donde los desarrolladores verifican un proyecto en sus máquinas locales, trabajan en él y verifican los cambios en el desarrollo.
Estos cambios se prueban más a fondo en el desarrollo y se ponen en marcha según un cronograma regular (por ejemplo, semanal, mensual, etc.).
¿Es posible tener un movimiento automático de la última versión etiquetada (y no del último registro, ya que podría no ser 100% estable), por ejemplo a las 8 a.m. los lunes por la mañana, ya sea usando un script o una función incorporada del ¿VCS?

¿Fue útil?

Solución

Ciertamente, pero el producto exacto puede depender del VCS que esté utilizando.

Lo que quizás quieras hacer es tener algunas ramas diferentes y migrar a medida que avanzas.Por ejemplo, Desarrollo -> Desarrollo estable -> Beta -> Producción.Luego, puede simplemente actualizar automáticamente a la última versión de Stable-Dev y Beta para sus evaluadores, y siempre podrá implementar una nueva versión de producción en un abrir y cerrar de ojos.

Otros consejos

Sí, es posible.Esta suele ser una característica proporcionada por herramientas de integración continua.Por lo general, obtendrán la fuente más reciente del control de versiones, construirán el proyecto, lo probarán (ejecutando pruebas unitarias) y posiblemente lo implementarán en un servidor (de prueba).

Si no necesita todos esos pasos, puede hacer lo mismo fácilmente con algún script de shell o similar (es decir,realizar el pago desde el control de versiones y copiarlo a la carpeta de producción en el servidor).

Cualquier cosa que puedas hacer con cvs se puede hacer con la línea de comando y estoy bastante seguro de que svn es lo mismo.Simplemente determine la funcionalidad que desea y péguela en un script de shell o en un archivo de comando.

Los únicos dos con los que tengo experiencia son SVN y Mercurial.Para Mercurial, especifica desde qué rama desea que se actualice (digamos predeterminada) y luego, cada vez que fusiona una rama con la predeterminada, puede ejecutar el servidor:

hg update

Lo que actualiza su repositorio a la última versión de la rama en la que lo configuró.

SVN es el mismo concepto, solo verifica qué rama desea inicialmente

svn co http://host/repository/branchname/

entonces tienes que actualizar tu servidor con un trabajo cron, ala

svn up

Sin embargo, en teoría, cualquier VCS que admita ramificaciones (todos los buenos lo hacen):git, mercurial, SVN, etc...), debería poder hacer algo similar a esto.

Dudo que muchos VCS proporcionen esta capacidad directamente; sin embargo, debería ser muy sencillo escribir un script.Ya sea una fecha o pago basado en sucursal.

Como seguimiento,

Soy de la opinión de que una aplicación debería hacer un trabajo y hacerlo bien.A menudo, si comienzas a combinar herramientas en un solo producto, ninguna de ellas brillará y la mayoría estarán "bien, más o menos".

Si estuviera haciendo algo como esto, conseguiría algo como SVN, ANT y Subversion Ant Library (http://ant.apache.org/antlibs/svn/index.html) - aunque su millaje puede variar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top