2011-01-06 20 views
6

Estoy intentando configurar un artefacto de construcción en teamcity pero tengo problemas. Aquí está el comando artefacto:Cómo configurar artefactos de construcción en teamcity

Services\Windows\ApiRequestProcess\ApiRequestLoggerService\bin\Release\* => F:\BuildArtifacts\Services\ApiRequestLogger 

Y aquí es uno de los errores:

16:43:33]: [Publishing artifacts] Paths to publish: [Services\Windows\ApiRequestProcess\ApiRequestLoggerService\bin\Release\* => F:\BuildArtifacts\Services\ApiRequestLogger, teamcity-info.xml] 
[16:43:33]: [Publishing artifacts] Sending files 
[16:43:34]: Failed to upload build artifact due to error: java.io.FileNotFoundException: F:\TeamCity\.BuildServer\system\artifacts\API Request Logger Service\API Request Logger Service Build\536\F:\BuildArtifacts\Services\ApiRequestLogger\ApiRequestCore.dll (The filename, directory name, or volume label syntax is incorrect) 

¿Alguna idea?

Respuesta

7

Bueno, su problema es que TeamCity almacena artefactos en su directorio de datos por lo que no puede especificar una ubicación absoluta. ¿Necesitas los artefactos en esa ubicación? Si es así, tendrá que ejecutar una tarea de copia de la carpeta de artefactos (hay un rest api para ayudarle con la descarga de artefactos)

De los artefactos docs

almacena TeamCity en el disco en una estructura de directorios que puede ser accedido directamente (por ejemplo, por configurando el sistema operativo a comparte el directorio a través de la red). Los artefactos se almacenan en la carpeta /system/artifacts. El formato de almacenamiento se describe en la sección Directorio de datos de TeamCity . Los artefactos de compilación no se archivan en TeamCity y se mantienen como están (sin comprimir).

+0

Intenté cambiarlo a una ruta relativa y todavía no funcionó, no hubo errores pero no copió nada. – Justin

+1

[Publicación de artefactos] Rutas de publicación: [Servicios \ Windows \ ApiRequestProcess \ ApiRequestLoggerService \ bin \ Release \ * => .. \ .. \ .. \ .. \ .. \ .. \ .. \ BuildArtifacts \ Services \ ApiRequestLogger, teamcity-info.xml] [09:21:22]: [Publicación de artefactos] Envío de archivos – Justin

+1

@Justin - no se puede hacer esto - tiene que ser relativo (abajo) a la raíz de la carpeta de compilación dentro del teamcity Diccionario de datos. – redsquare

1

@redsquare es correcto. TeamCity está archivando artefactos relativos a su construcción. Anterior a TeamCity lo hice de la forma en que también lo describes;)

La verdadera pregunta es ¿por qué quieres hacer eso (ya que tu compilación ya está archivada)? Voy a aventurar una suposición ...

Si lo haces para ser accesible para su implementación o para otra compilación hay una alternativa ... En TeamCity hablamos: Dependencias/Dependencia de artefactos. Puede consumir el resultado de su compilación de CI en otra compilación de CI ... o en una implementación de compilación de una manera directa.

Ver mi respuesta here para más detalles.

Cuestiones relacionadas