プログラマでありたい

おっさんになっても、プログラマでありつづけたい

Jenkinsでビルド・パイプラインを構築する

 前回、Jenkinsのインストールについて書きました。今回は、Jenkinsでビルド・パイプラインを構築する話です。

ビルド・パイプラインとは?



 ビルド・パイプラインとは、ビルドのプロセスを分割して順番に実行していくことです。例えばビルドの流れとして、コミット→静的解析→コンパイル→ロジック層のユニットテスト→UI層のユニットテスト等があったとします。これを1つのジョブとして登録するのではなく、1つ1つのジョブとして実行し、成功した場合のみ次のステップに進めるようにします。これがビルドパイプラインです。
 メリットとしては、どの工程で失敗しているのか解りやすいことが第一にあります。またJenkinsの特性を活かして、特定のジョブを並列で動かしたり出来るので効率化も出来ます。また、更に検証済みマージなど、高度な活用にもつながります。

Jenkinsでビルド・パイプラインの構築



 元々Jenkinsでは、ジョブの前後関係を簡単に作れます。ビルド・トリガで"他プロジェクトのビルド後にビルド"を指定するだけです。


 しかし、これだけでは前後関係が解りにくいですし、視覚的に楽しくないです。そこで、Jenkin Build Pipeline プラグインの登場です。このプラグインは、基本的には既存のJenkinsのジョブの前後関係を視覚的に表現するだけです。副作用もなく、かつ格段に使いやすくなります。

ビルド・パイプラインの設定



 Jenkin Build Pipeline プラグインをインストールすると、ダッシュボードからパイプラインを作れます。"Build Pipeline View"か"リストビュー"を作れます。せっかくなので視覚的なBuild Pipeline Viewが良いですね。
 作成後に、Select Initial Jobで最初に実行するジョブを選びます。基本的にはこれだけです。Inital Jobで選んだジョブの依存関係に従いパイプラインが形成されます。実行すると失敗しない限り順番にジョブが実行されていきます。

手動のトリガー設定



 またBuild Pipeline プラグインは、手動のトリガーを設定できます。ビルドやユニットてすとは、自動でどんどん進んでも問題ありません。でも例えば検証環境や本番環境へのリリースのジョブなどは、自動で行われたら困る場合が多いです。その場合は、手動でのトリガーを設定します。
 プラグインをインストールすると、ビルド後の処理にBuild Pipeline DownStream Project Namesが設定できます。これが手動で実行する後続ジョブです。

まとめ



 ビルドパイプライン・プラグイン1つ入れるだけで、随分と使いやすくなりました。やっぱり視覚化は楽しくて良いですよね。また、あまりJenkinsに詳しくない人でも、直感的に役割が理解出来るのが良いと思います。次は、Selenium・Chefとの連携や、検証マージの話を書きたいと思います。

See Also:
Amazon Linux AMIにRuby用にJenkinsをインストールする
JenkinsとSelenium WebDriverでUI層のテストも自動化&永続化する


参照:
Jenkinsでビルド・パイプラインを作る | Ryuzee.com