Tenemos un trabajo de producción y un trabajo nocturno para un proyecto en Hudson. El trabajo de producción necesita sacar algunos artefactos de un # de compilación nocturno específico (que se proporciona como parámetro). ¿Alguien puede ayudarnos con una pista sobre cómo lograr esto?¿Cómo acceder a los artefactos de trabajo1 de Hudson desde otro trabajo2?
Respuesta
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/
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.
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.
- 1. ¿Cómo puedo copiar los artefactos de Teamcity a otro servidor?
- 2. Cómo eliminar artefactos de construcción innecesarios en Hudson
- 3. ¿Cómo encontrar los artefactos que dependen de otro artefacto?
- 4. Acceder a los archivos de recursos de resx desde otro proyecto
- 5. mover el trabajo de Hudson a otro servidor
- 6. ¿Puede una construcción de Jenkins acceder a los artefactos archivados de sí mismo?
- 7. ¿Cómo acceder a los valores de usercontrol desde la página?
- 8. Cómo acceder a los servicios SOAP desde el iPhone
- 9. Cómo prevenir la sobreescritura de los artefactos lanzados (versiones no instantáneas) en repositorio de Maven en Hudson
- 10. ¿Cómo acceder a un control de formulario para otro formulario?
- 11. Maven: Cómo encontrar artefactos que dependen de otro artefacto
- 12. ¿Puedo acceder a variables de otro archivo?
- 13. ¿Cómo acceder al servidor local WCF desde otro dispositivo?
- 14. Cómo acceder a objetos de formulario desde otro archivo cs en C#
- 15. ¿Cómo puedo acceder a los archivos INI desde Perl?
- 16. Cómo compartir BUILD_NUMBER entre trabajos con Hudson
- 17. ¿Cómo acceder a los elementos de lista
- 18. ¿Cómo acceder a los recursos de prueba?
- 19. Cómo acceder a Seconds_Behind_Master desde SQL
- 20. HUDSON: ¿Cómo detener el trabajo de hudson desde la línea de comandos?
- 21. ¿Cómo acceder a Wikipedia desde R?
- 22. Cómo acceder a ApplicationContext desde un controlador
- 23. Cómo llamar a Makefile desde otro Makefile?
- 24. ¿Cómo acceder a FileTables desde Entity Framework?
- 25. Cómo acceder al módulo auxiliar de URL desde los rieles
- 26. Accediendo a vistas desde otro hilo (Android)
- 27. acceder a los resultados Vista desde variable en el código
- 28. ¿Cómo acceder a una variable estática desde otro archivo en C?
- 29. Cómo decirle a SBT que resuelva los artefactos gestionados
- 30. No se pueden obtener artefactos de construcción para mostrar correctamente en Jenkins/Hudson
Hacemos un uso extensivo de HTTP get simple en contra de la URL de descarga del trabajo para extraer artefactos en un trabajo posterior. –
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. –
@ Konstantin Supongo que esas URL no requieren autenticación, ¿verdad? –