¿Cómo evitar la implementación de una twig en el server de producción?

estamos trabajando con twigs de características.

estamos utilizando un script bash para implementar, y ese script tiene un parámetro que define dónde desplegar: prod_server, test_env, local_virtualbox, etc.

sin embargo, las twigs de características y el enlace troncal siempre deben desplegarse solo en local / test y la twig de versión estable anterior debe ser la única que se puede desplegar en el entorno prod. (La única razón por la que estoy preguntando es, por supuesto, que recientemente, casi accidentalmente, sobrescribí nuestro producto con alguna twig de características).

¿Hay una buena manera de hacer esto? ¿Me estoy perdiendo algún enfoque adecuado para este problema, o debería usar algunos bashisms para verificar en qué twig estoy trabajando y restringir de acuerdo con el nombre del env dado en el parámetro? ¿Debería implementar solo tags en lugar de twigs?

(no estoy seguro de que sea relevante sino: aplicación de console java, tienda de spring, maven utilizado para la construcción).

Para resolver esto solo con el control de la versión: puede evitar esto si escribe un script bash de compilation que hace un svn co en el tronco o la label más nueva y ejecuta la construcción maven en este nuevo process de pago.

Si también quieres utilizar maven en el process: te recomiendo que coloques un cheque en tu script deploy bash de todos modos para asegurarte de que si cometes un error en alguna parte, el último punto de control lo atrapará.

En los proyectos en los que trabajé con maven, diseñamos la parte productiva como un perfil. Como el perfil prod era el único que contenía la información necesaria para la implementación (y un nombre final que lo hacía obvio para todos a primera vista) era imposible implementar una versión no productiva en el entorno productivo, pero no No creo que eso se aplique a usted (porque indicó que usa twigs y no perfiles para el desarrollo de características).

Por lo tanto, establezca el Nombre final como este en el perfil productivo y verifíquelo en el script deploy bash y debería estar bien:

 <profile> <id>productive</id> <build> <finalName>MyProgram-productive-${version}</finalName> </build> </profile> 

De esa manera, siempre debe aplicar manualmente la bandera 'esto es productivo' a lo que sea que esté construyendo.

PERO esto no le impedirá establecer el indicador 'esto es productivo' en una twig de características, porque maven no está al tanto de su situación de control de versiones.