複数のステージを持つJenkinsfileがあり、そのうちの1つは実際には別のジョブ(デプロイジョブ)であり、場合によっては失敗する可能性があります。
Jenkinsfile を使用してプロンプトを作成できることは知っていますが、このジョブの再試行メカニズムを実装する方法がよくわかりません。
複数のステージを持つJenkinsfileがあり、そのうちの1つは実際には別のジョブ(デプロイジョブ)であり、場合によっては失敗する可能性があります。
Jenkinsfile を使用してプロンプトを作成できることは知っていますが、このジョブの再試行メカニズムを実装する方法がよくわかりません。
それを行うには、再試行と入力を組み合わせることができるはずです
stage('deploy-test') {
try {
build 'yourJob'
} catch(error) {
echo "First build failed, let's retry if accepted"
retry(2) {
input "Retry the job ?"
build 'yourJob'
}
}
}
誰も検証しない場合に終了させたい場合は、入力にタイムアウトを使用することもできます。役に立つかもしれないwaitUntilもありますが、まだ使用していません
編集:WaitUntilは間違いなく最高のようです。少し遊んでみる必要がありますが、そのようなものはよりクリーンです:
stage('deploy-test') {
waitUntil {
try {
build 'yourJob'
} catch(error) {
input "Retry the job ?"
false
}
}
}
ちなみに、ここにすべての手順のドキュメントがありますhttps://jenkins.io/doc/pipeline/steps