2011-01-07 12 views
9

Cuando se encuentra en la página de artefactos en TeamCity, hay una opción para descargar todos los artefactos como un archivo zip.Dependencia de artefactos comprimidos TeamCity

Me preguntaba si puede configurar las configuraciones de compilación dependientes para realmente tomar la versión comprimida de los artefactos.

Me di cuenta de que podía comprimir todos los artefactos en la configuración del proyecto que inicialmente los crea, pero prefiero no hacerlo.

Alternativamente, podría usar algo como Nant para comprimirlos una vez que los traigan, pero me imagino que la transferencia de estos artefactos probablemente sea un poco más rápida si los archivos que se envían se comprimen en primer lugar.

¿Alguien conoce una forma de transferir los artefactos comprimidos de cada uno de los otros proyectos o si es compatible con TeamCity?

+0

¿Alguna vez encontró una respuesta a esto? – reach4thelasers

Respuesta

17

Sip. Esto es bastante sencillo, al menos con la versión actual de TeamCity (6.5.3). En su proyecto "principal", cree el artefacto con cremallera:

MyProjectBuildFolder\** => mybuild-%system.build.number%.zip 

Después de su construcción, verá todos los archivos en el artefacto postal. Luego crea una nueva configuración de compilación. Deseará editar las dependencias de esta compilación y agregar una nueva "dependencia de artefactos". Editar sus propiedades, así:

  1. dependerá de: La configuración de generación de su principal proyecto desde arriba.
  2. Get artefactos de: Última generación correcta
  3. Artifacts caminos: Si desea copiar el archivo zip, esto será *.zip. Si desea que TeamCity desempaquete el archivo comprimido para usted, use *.zip!**.
  4. ruta Destino:% some.parameter.representing.your.path%

Ahora cuando el corredor de la acumulación dependiente se inició, se agarra el último archivo zip de su proyecto principal y descomprimir en la carpeta de destino de su construcción dependiente.

0

Probablemente, podría obtener artefactos comprimidos manualmente, en su primer paso de compilación, construyendo URL para la configuración dependiente. En la compilación, puede obtener parámetros de sus compilaciones dependientes, que pueden ayudarlo a compilar la URL.

URL será similar a: http://your.server/(guestAuth|httpAuth)/repository/downloadAll/bt457/12345:id/artifacts.zip

donde bt457 - Identificación de la configuración de generación 12345 - construir Identificación de la acumulación dependiente, que debe ser capaz de obtener en su construcción como dep.bt457.teamcity propiedad del sistema .build.id

leer más aquí: http://confluence.jetbrains.net/display/TCD6/Predefined+Build+Parameters#PredefinedBuildParameters-DependenciesProperties

Todo esto no es muy elegante, pero debería funcionar

Cuestiones relacionadas