Sto cercando di utilizzare Jenkins su Cloudbees per automatizzare la distribuzione del mio software. Ho impostato il mio flusso di lavoro come segue.Come ripetere una fase in Jenkins Workflow
Ci possono essere momenti che voglio ridistribuire. (supponendo che lo stage abbia un parametro di input manuale). Come faccio a farlo nel flusso di lavoro? Ecco il mio script Groovy.
def src = 'https://git.repo.url/proj.git'
stage 'Build'
node {
env.JAVA_HOME="${tool name: 'Pre-Installed OpenJDK 8 (Latest) on [email protected] nodes', type: 'hudson.model.JDK'}"
sh 'javac -version'
git credentialsId: 'abcdef', url: src
sh 'ant -f build.xml proj.jar report'
}
stage 'Generate Release Version'
input message: 'Create Tar and Push to S3', ok: 'Generate Release'
node {
// TODO
}
stage 'QA Approved'
input message: 'Enter a Tag Name to approve this build and tag in GIT', ok: 'Approve and Tag', parameters: [[$class: 'StringParameterDefinition', defaultValue: '', description: 'Eg: Sprint73', name: 'TAG_NAME']]
node {
// TODO
}
stage 'DevOps - Ansible'
input message: 'Release to Production', ok: 'Release'
node {
// TODO
}
Ho provato ad utilizzare Job catena tramite costruire Pipeline invece di flusso di lavoro in modo che possa ripetere le fasi, ma questo è un'altra storia con troppi posti di lavoro.
Questo problema dovrebbe essere risolto con il plug-in "checkpoint". Ma al momento questo non è ancora possibile nella versione OSS, ma il voto è attivo sul tracker dei problemi [JENKINS-33846] (https://issues.jenkins-ci.org/browse/JENKINS-33846). Sentiti libero di inviare il tuo voto! – Zigac