2012-04-27 7 views
16

Cómo se pasan las rutas de artefactos a una secuencia de comandos en TeamCity. El escenario es esteTeamCity Build & Deploy: ¿Cómo pasas las rutas de artefactos dependientes a un script?

  1. generación de proyecto
  2. Implementación de Project (con una dependencia artefacto al # 1)

Paso 2 consiste en AA script que

  1. interrumpe un servicio (para desbloquear archivos)
  2. Copia los artefactos de compilación en el servidor
  3. reinicia el servicio

Estoy luchando con el paso 2, calculo que necesito para pasar el camino de los artefactos de construcción en el guión, pero no puedo ver cómo lo haces?

+0

¿Qué versión de TeamCity estás usando? – Bronumski

+0

TeamCity 7.0.2 es la versión que he instalado –

Respuesta

15

Hacemos algo como esto. No está 100% claro, pero parece que quiere hacer la compilación y la implementación como dos compilaciones separadas en TeamCity con una dependencia de artefactos de la compilación de implementación en la compilación principal, que es exactamente lo que hacemos. Así es como lo hacemos.

  • Configure sus artefactos de la compilación principal que parece que ya ha hecho.

    Example: **\bin\release\*.* => bin
  • Establecer la dependencia artefacto (también hacemos una dependencia rápida del tiro así, pero usted no tiene que hacerlo) para tirar de sus artefactos de la construcción principal y ponerlos en una carpeta local en su estructura de despliegue .

    Example: Artifacts paths: bin\**\*.* Destination path: bin\
  • se utiliza una mezcla de MSBuild PowerShell y para hacer el trabajo de implementación real. En cada caso, puede hacer referencia a los artefactos usando una ruta relativa.

    si la carpeta de trabajo de construcción es el siguiente:

     
    root 
    |- bin (Artifacts pulled in from main build) 
    |- src 
    |- build (Where your build and deployment scripts live) 
    

    Se podría acceder a los archivos del compartimiento de la secuencia de comandos de despliegue, ubicado en la carpeta de compilación como:

    ..\bin\[your files]

A continuación, puede pase el camino a sus artefactos de construcción como este

%teamcity.build.checkoutDir%\bin\ 
+1

Gracias, creo que el bit que no había entendido completamente era cómo la dependencia de artefactos tiraba de los artefactos de construcción en su directorio de trabajo% teamcity.build.checkoutDir% \ bin \ era el camino que necesitaba TeamCity es genial, pero parte de la documentación es un poco inescrutable –

+1

No necesita el% teamcity.build.checkoutDir% variable bin \ estaría bien, pero si lo hace más claro para el mantenimiento, entonces será mejor. – Bronumski

+0

Si está usando powershell agregue "-ExecutionPolicy bypass" a la línea de comandos, la configuración de la política en la máquina no parece funcionar (extrañamente) –

Cuestiones relacionadas