Je crée des emplois qui utiliseront énormément les canalisations Jenkins. Nos nœuds sont désignés par projet par leurs balises, mais contrairement aux travaux normaux, la construction du pipeline ne semble pas avoir la case "Restreindre où ce projet peut être exécuté". Comment puis-je spécifier sur quel nœud le pipeline fonctionnera comme je le fais pour les travaux normaux?
Vous spécifiez le noeud ou la balise souhaité lorsque vous effectuez l'étape node
:
node('specialSlave') {
// Will run on the slave with name or tag specialSlave
}
Voir https://jenkins.io/doc/pipeline/steps/workflow-durable-task-step/#code-node-code-allocate-node pour une explication détaillée des arguments de node
.
Pour mémoire, prenons l'exemple pipeline déclaratif (en choisissant un noeud portant l'étiquette 'X'):
pipeline {
agent { label 'X' }
...
...
}
Pour être clair, étant donné que Pipeline a deux syntaxes, il y a deux façons d'y parvenir.
pipeline {
agent none
stages {
stage('Build') {
agent { label 'slave-node' }
steps {
echo 'Building..'
sh '''
'''
}
}
}
post {
success {
echo 'This will run only if successful'
}
}
}
node('your-node') {
try {
stage 'Build'
node('build-run-on-this-node') {
sh ""
}
} catch(Exception e) {
throw e
}
}