2012-09-11 18 views
5

Estoy buscando migrar nuestra infraestructura de construcción de CC.NET a TeamCity. Es cierto que es bastante verde con TeamCity en este momento.Configuración de compilación de control de versiones (por ejemplo, en TFS) para TeamCity: ¿es posible?

Un potencial para detener el show es que necesitamos que nuestra configuración de compilación esté controlada por la versión junto con el código fuente que crea. CC.NET lo hace bastante fácil y es una característica muy útil/poderosa.

De mi investigación puede cambiar dónde TeamCity almacena sus config/data, pero ninguna de la documentación oficial (ni otros temas aquí en SO) parecen hacer referencia a su ubicación en una versión controlada como TFS, Perforce o ClearCase .

Por lo tanto, me pregunto si es posible y/o es lo 'hecho'?

Podría ser que si TeamCity asume el acceso R/W a cualquier archivo de configuración y el VCS subyacente hace que los archivos R/O requieran semánticas de check-in/check-out que esto confunda TeamCity y lo deje de funcionar.

¿Alguien aquí tiene experiencia de la versión que controla la configuración de compilación de TeamCity en Team Foundation Server (o similar)?

Gracias, Jack

FYI - How does one version control the configuration of a TeamCity project? parece ser el único hilo similar aquí en SO. http://confluence.jetbrains.net/display/TCD7/How+To ... y documentos oficiales relacionados hablan sobre migrar config y/o hacer una copia de seguridad, que está cerca, pero no es lo mismo.

Respuesta

2

Ésta no es una respuesta, pero ...

Nos preguntó JetBrains por su recomendación sobre esto y tiene la siguiente respuesta:

Hasta el momento no hay ninguna funcionalidad para la configuración de configuración de la tienda en el control de versiones. La configuración se almacena en XML en el disco (en Directorio de datos TeamCity - http://confluence.jetbrains.net/display/TCD7/TeamCity+Data+Directory) y, en teoría, es posible sincronizar el directorio con un control de versión . Es posible que desee votar a favor de la característica o verlo en nuestro seguimiento de incidencias: http://youtrack.jetbrains.com/issue/TW-2806

no puedo ver ninguna solución elegante, por lo que podría pensar que la mejor solución (solución menos peor ...) es :

  1. Mueva la lógica de compilación compleja a los scripts de MSBuild/Nant que están controlados por la versión; y
  2. Si tiene tiempo, implemente un servicio de sincronización personalizado entre su control de origen y el directorio de datos de TeamCity. En este caso, probablemente tendrá que estar preparado para enfrentar las fallas que requerirán fusiones manuales de vez en cuando (no es divertido :-().

Buena suerte, y si encuentra una buena solución, por favor compártalo :-D

0

He estado buscando una forma de controlar la configuración de TeamCity durante mucho tiempo. Terminé escribiendo un Servicio de Windows que supervisa el directorio de configuración y confirma los cambios en git.

No es TFS pero el código fuente está en GitHub para que pueda adaptar fácilmente la solución a sus necesidades.

El proyecto se encuentra en GitHub: https://github.com/grenade/teamcity-config-monitor

0

Por lo que yo sé que esto no es compatible, pero un enfoque que recomiendo es invocar un archivo por lotes almacenada en control de código fuente durante la compilación. El archivo por lotes puede invocar manualmente los comandos requeridos para hacer la compilación, o podría invocar, p. FinalBuilder. Esto permite una gran flexibilidad en el proceso de construcción.

Cuestiones relacionadas