¿Cómo le digo a Jenkins que ejecute un proyecto específico en un esclavo en particular?
He configurado un nodo maestro Jenkins y un nodo esclavo que quiero usar para organizar una aplicación. Pero no puedo entender cómo configurar el proyecto para que se ejecute en el nodo esclavo que creé.
Respuestas:
Establezca la casilla de verificación "Restringir dónde se puede ejecutar este trabajo" en la configuración de su trabajo y especifique el nombre de su esclavo.
Si agrega más esclavos más tarde, puede establecer etiquetas para cada esclavo y especificarlas en las configuraciones de su trabajo.
Consulte esta documentación de referencia:
fuente
Si está ejecutando un trabajo de Pipeline, primero desea agregar una etiqueta (por ejemplo, 'esclavo') al nodo esclavo (o agente como parece llamarse ahora).
Luego, en el script de canalización, especifique la etiqueta en la que se ejecuta el trabajo:
Tubería declarativa:
Canalización con guión:
Este trabajo ahora se ejecutará en cualquier nodo con la etiqueta 'esclavo'. Si solo desea que el trabajo se ejecute en este esclavo en particular, no reutilice la etiqueta. Y, por supuesto, la etiqueta no tiene que ser 'esclava'; Puede ser lo que quieras.
Actualizar:
En la canalización programada, si su nodo se llama "Mi nodo", también puede hacer esto:
Si solo desea que el bloque de código se ejecute en ese nodo en particular, esto es útil. Sin embargo, el uso de etiquetas es más flexible y puede facilitar la adición de nodos para compartir la carga de trabajo.
fuente
Si desea utilizar Node / Label como parámetro, instale NodeLabel Parameter Plugin
fuente
params += new org.jvnet.jenkins.plugins.nodelabelparameter.LabelParameterValue('testServer', testServerLabel);
(en lugar del habitualStringParameterValue
).