[Jenkins] エラーが発生しても後続Stageを実行する書き方
Stageを複数定義している状態で、エラー発生後のStageも実行する方法のメモ。
検証バージョン
- Jenkins 2.222.1
エラーが発生したStageでJobが終了する書き方
pipeline {
agent any
stages {
stage('Test AP1') {
steps {
echo "test ap 1"
}
}
stage('Test AP2') {
steps {
echo "test ap 2"
}
}
stage('Test AP3') {
steps {
echo "test ap 3"
}
}
}
}
pipeline {
agent any
stages {
stage('Test AP1') {
steps {
echo "test ap 1"
}
}
stage('Test AP2') {
steps {
echo "test ap 2"
}
}
stage('Test AP3') {
steps {
echo "test ap 3"
}
}
}
}
みたいに書くと、仮に2つ目のStageでエラーが出ると3つ目のStageが実行されない。
エラーが発生しても後続Stageを実行する書き方(エラー箇所がわからない・・・)
pipeline {
agent any
stages {
stage('Test AP1') {
steps {
catchError {
echo "test ap 1"
}
}
}
stage('Test AP2') {
steps {
catchError {
echo "test ap 2"
error "error test!!" // エラーを起こすためのダミーコード
}
}
}
stage('Test AP3') {
steps {
catchError {
echo "test ap 3"
}
}
}
}
}
pipeline {
agent any
stages {
stage('Test AP1') {
steps {
catchError {
echo "test ap 1"
}
}
}
stage('Test AP2') {
steps {
catchError {
echo "test ap 2"
error "error test!!" // エラーを起こすためのダミーコード
}
}
}
stage('Test AP3') {
steps {
catchError {
echo "test ap 3"
}
}
}
}
}
という感じにすると(catchError
句で囲むと)、後続Stageを実行した上でビルドがエラーになってくれるが・・・どこのStageでエラーが出たかパッと見わからない・・。
エラーが発生しても後続Stageを実行する書き方(エラー箇所もわかる!!)
pipeline {
agent any
stages {
stage('Test AP1') {
steps {
catchError(stageResult:'FAILURE') {
echo "test ap 1"
}
}
}
stage('Test AP2') {
steps {
catchError(stageResult:'FAILURE') {
echo "test ap 2"
error "error test!!" // エラーを起こすためのダミーコード
}
}
}
stage('Test AP3') {
steps {
catchError(stageResult:'FAILURE') {
echo "test ap 3"
}
}
}
}
}
pipeline {
agent any
stages {
stage('Test AP1') {
steps {
catchError(stageResult:'FAILURE') {
echo "test ap 1"
}
}
}
stage('Test AP2') {
steps {
catchError(stageResult:'FAILURE') {
echo "test ap 2"
error "error test!!" // エラーを起こすためのダミーコード
}
}
}
stage('Test AP3') {
steps {
catchError(stageResult:'FAILURE') {
echo "test ap 3"
}
}
}
}
}
という感じで stageResult
オプションに FAILURE
を指定すると、後続のStageを実行した上でエラーになったStageもわかるようになる。
最後に
ま〜とりあえずやりたいことはできたけど、個別にcatchError
じゃなくて・・・全体のオプションで同じような動作にできたりするのかな!?
Author And Source
この問題について([Jenkins] エラーが発生しても後続Stageを実行する書き方), 我々は、より多くの情報をここで見つけました https://qiita.com/kazuki43zoo/items/d98cff10dc39e88011eb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .