Agregar configuraciones de compilation de TeamCity al control de origen (adecuado)

Tenemos más de 100 configuraciones de construcción en Team City, y en los últimos meses me he dado count de que estos activos son tan importantes (si no más) que los activos reales del proyecto (código, configuration, etc.) que estamos entregando. .

Con ese fin, sé que TC ofrece su propio control de versión de configuration de compilation, pero a mí me parecen un poco bajas las características; por ejemplo, si una compilation deja de funcionar, sería muy bueno poder diferenciar las configuraciones de compilation XML reales en mi favorito herramienta de diferencia en lugar de confiar en TC integrado en uno, o para poder ver las diferencias en un marco de time más largo que simplemente contra el estado anterior.

Obviamente, esto se puede manejar manualmente extrayendo la definición de construcción y el compromiso, y luego aplicando el auto discipulado para hacer esto siempre cuando se cambie la definición. ¿Alguien puede sugerir un enfoque más unido? Estamos utilizando TeamCity Enterprise v8.0.5

Como solución provisional antes de actualizar a TeamCity 9, puede escribir un trabajo progtwigdo para ejecutar cada 10 minutos (o incluso cada minuto) y confirmar automáticamente los cambios en un nuevo repository. Utilizaría un nuevo repository para que TeamCity no intente nunca activar las confirmaciones.

No sé qué SO o VCS está usando, pero solo tendría que enviar todos los files XML para que pueda get project-config.xml , build tipo XML y configurar el plugin, no quiere files .properties como los files de número de compilation cambiarán después de cada compilation.

  • <TeamCityData>/config/projects/**/*.xml

Si está usando Git, puede simplemente iniciar un repository en el directory de projects , agregar un .gitignore para cualquier cosa que no sea *.xml , y ejecutar git add . y git commit -m "Build configuration settings were edited" como un trabajo progtwigdo.

¿Puedes actualizar a TeamCity 9? TeamCity ahora count con soporte integrado para sincronizar las configuraciones de compilation con Git o Mercurial.

https://www.jetbrains.com/teamcity/whatsnew/

https://www.youtube.com/watch?v=zTLeCrdxGIw