2011-03-17 13 views

Respuesta

8

El complemento Copy Artifact parece ser capaz de hacer esto.

Otro enfoque podría ser la de buscar el artefacto a través de

http://server/jobs/job1/[build #]/artifacts/ 
+0

Hacemos un uso extensivo de HTTP get simple en contra de la URL de descarga del trabajo para extraer artefactos en un trabajo posterior. –

+0

El problema con el plugin de artefactos de copia es que necesitas saber qué artefactos necesitarás en otro lugar. Si olvidamos eso y copiamos todos los artefactos por defecto, que son alrededor de 40-50 MB por compilación, esto aumentaría el uso del disco a doble velocidad. La recuperación a través de URL no es posible porque nuestra configuración requiere autenticación. –

+0

@ Konstantin Supongo que esas URL no requieren autenticación, ¿verdad? –

1

Puede utilizar "entorno de compilación de" herramientas de configuración en la página de configuración de la tarea. Marque la casilla Configurar M2 Extra Build Steps y agregue un Shell de ejecución que grep cosas desde el artefacto deseado.

0

tenemos necesidad similar y utiliza este sistema maravilloso:

import hudson.model.* 

def currentBuild = Thread.currentThread().executable; 
currentBuild.addAction(new ParametersAction(new StringParameterValue('LAST_BUILD_STATUS', 'FAILURE'))); 
def buildJob = Hudson.instance.getJob("ArtifactJobName"); 
def artifacts = buildJob.getLastBuild().getArtifacts(); 
if (buildJob.getLastBuild().getResult() == Result.SUCCESS && artifacts != null && artifacts.size() > 0) { 
    currentBuild.addAction(new ParametersAction(new StringParameterValue('VARIABLE_NAME', artifacts[0].getFileName()))); 
    currentBuild.addAction(new ParametersAction(new StringParameterValue('LAST_BUILD_STATUS', 'SUCCESS'))); 
} 

Esto crea una VARIABLE_NAME con el nombre de artefacto en ella desde ArtifactJobName, que utilizamos ya que se almacenan en una carpeta específica. No estoy seguro de lo que sucederá si tiene múltiples artefactos, pero parece que podría obtenerlos de la matriz de artefactos.

Puede usar getLastSuccessfulBuild para evitar el problema cuando otro ArtifactJobName se está construyendo en este momento y se obtiene una matriz con nulo.

Cuestiones relacionadas