¿Cómo maneja el mapeo de trabajos de Jenkins en su proceso de compilación, y ha podido construir configuraciones de herencia en cascada?Herencia de trabajo en trabajos de Jenkins
Para cualquier compilación dada, tendré al menos tres trabajos (integración continua estándar/nocturna, escaneo de seguridad, cobertura) y luego algunos trabajos de pruebas de integración en sentido descendente. El plugin slicer de configuración maneja algunos aspectos de trabajos cruzados, pero cada uno de los trabajos sigue siendo en gran medida su propia entidad individual sin relación con los otros trabajos de su grupo.
Recientemente vi QuickBuild y tiene herencia de trabajo donde los trabajos principales pueden definir un grupo de pasos estándar y sus hijos pueden sobrescribirse y especializarse. Con Jenkins, tengo copias de trabajos, lo cual está bien hasta que tenga que cambiar algo. Con QuickBuild, la relación entre trabajos me permite extender mis cambios con poco esfuerzo.
He estado tratando de descubrir cómo manejar esto en Jenkins. Podría usar el complemento de activación de compilación parametrizado para permitir que los trabajos llamen a otros y anulen aspectos. Luego recolectaría los datos de los trabajos llamados a su llamador. Sospecho que me encontraré con una serie de problemas en los que hay aspectos que no puedo anular y que me obligarán a implementar la funcionalidad de Jenkins en mi propio guión, haciendo que Jenkins sea menos útil.
¿Cómo manejas la complejidad en tus trabajos de construcción en Jenkins? ¿Has oído hablar de algún problema serio con QuickBuild?
He estado buscando en estos temas hoy en día, aunque sin cualquier interés en QuickBuild. En particular, me gustaría tener diferentes opciones de configuración para compilaciones de CI y Nightly, como revisar espacios de trabajo limpios versus realizar una reversión + actualización, cuánto tiempo se almacenan los artefactos de compilación y cómo archivar o implementar artefactos, mientras se mantiene la misma lista de construir instrucciones para cada uno. El complemento Matrix/multiconfig no ofrece suficientes opciones. Creo que podríamos gestionarlo con un subtrabajo que hace solo la compilación, llamado con un espacio de trabajo parametrizado, pero es una complejidad añadida. – CJBrew
Si cada uno de sus trabajos tiene un aspecto de su CI, entonces no debería haber ninguna duplicación de tareas entre trabajos. Tenemos un trabajo de construcción que tiene un trabajo posterior que etapas y luego ejecuta las pruebas de integración. Si existe el deseo de ejecutar algunas de estas pruebas escalonadas en intervalos de tiempo regulares, esto se puede configurar dentro de esos trabajos como disparadores programados también. De esta forma, el trabajo de construcción solo se construye, el trabajo de prueba solo hace pruebas, y así sucesivamente. Si usa la tarea 'Archivar para el espacio de trabajo clonado', el trabajo indirecto puede tener acceso a los artefactos de compilación. ¿Puede expandirse en una respuesta si lo prefiere? – jbjon
Me pregunto si un año después, encontraste una solución a este problema. – sorin