Corredor

ウェブ、プログラミングの勉強メモ。

Jenkins Declarative Pipeline で try catch finally する

DevOps導入指南 Infrastructure as Codeでチーム開発・サービス運用を効率化する

DevOps導入指南 Infrastructure as Codeでチーム開発・サービス運用を効率化する

  • 作者: 河村聖悟,北野太郎,中山貴尋,日下部貴章,株式会社リクルートテクノロジーズ
  • 出版社/メーカー: 翔泳社
  • 発売日: 2016/10/18
  • メディア: Kindle版
  • この商品を含むブログを見る

変革の軌跡【世界で戦える会社に変わる

変革の軌跡【世界で戦える会社に変わる"アジャイル・DevOps"導入の原則】

Declarative Pipeline v1.2 以降で検証。

Declarative Pipeline 自体には try catch finally の構文はなく、script ブロックを使って以前の Scripted Pipeline 構文を利用し、その中で try catch finally を使うしかないようだ。

pipeline {
  agent any
  stages {
    stage('エラーが起こりそうな処理') {
      steps {
        script {
          try {
            // ココにエラーが起こりそうな処理を書く
            bat 'ruby -v'
          }
          catch(error) {
            echo 'なにやらエラーです'
          }
          finally {
            echo '成功時も失敗時も実行されます'
          }
        }
      }
    }
  }
}

やはりインデントスゴイことになるな…。

複数のパイプライン構文が混在しているのと、パイプラインで使える関数やコマンドをまだまだ知らなくて色々と苦戦中。