こんにちは、ワンダープラネットグローバルスタジオ所属のエンジニアのギュウと申します。
会社の開発ブログに投稿することは初めてなので、
どんな内容を書けば良いので、結構悩んでいましたね。
今まで多くのプロジェクトを経験してきて、フレームワークもライブラリもそれぞれでしたが、
共通的なツールといえばやっぱりJenkinsだと思います。
実はちゃんと調整すれば、Jenkinsはいろんな仕事を代行できますし、
One Clickで複雑な設定操作を省略できるためヒューマンエラーも防ぐことができます。
では今回はJenkinsのマルチビルド機能から紹介します。
1.プラグイン導入
①Jenkinsの「開発者」ページに入ります
②Jenkinsの管理ページに入って、「Go to Plugin Manager」ボタンをクリックします
③「MultiJob」というプラグインを導入します。
インストールが終わればJenkinsが自動的に再起動します。
2.新規マルチジョブを作成
①インストールが終わったら、「新規ジョブ」から各ジョブを管理する上流ジョブを作ります。
②インストールが終わったら、「新規ジョブ」から各ジョブを管理する上流ジョブを作ります。
注意:他のジョブからパラメーターをコピペしまうと、コピー元のジョブは必ず、同じタイプのマルチジョブのことを確認してください。
シングルジョブをコピー元に指定すればマルチジョブの設定が消えます、ここは要注意。
3.上流ジョブと下流ジョブのパラメーター設定
作成が終われば自動的にジョブの設定画面に移動します。
「ビルド手順の追加」メニューで「MultiJob Phase」を選択すれば、
下流ジョブが一個追加されます。
MultiJob Phaseの「Add jobs」をクリックすれば、並列で実行する下流ジョブが一個増えます。
ここで下流ジョブの各パラメーターを説明します:
パラメーター | 説明 |
---|---|
Phase name | 該当フェーズの名前、分かりやすいほど設定すれば良い。 |
Job name | 下流ジョブで呼び出すシングルジョブ名(シングルジョブは事前に設定済み)。 |
Job alias | 下流ジョブの説明テキスト。 |
Kill the phase on | 該当ジョブの途中終了条件、デフォルト設定は失敗になる場合自動中止にする。 |
Build only if SCM changes | SCMが変わる時のみビルドを実行する、でなければ該当ジョブをスキップします。 |
Disable | 該当ジョブを一時無効にする、テストする時によく使いますね、一部のジョブを止めてJenkinsの問題を確認する時に役に立てます。 |
Abort all other job | 該当ジョブが死んだら他のジョブを全部止めます。 |
Current job parameters | 上流ジョブで各下流ジョブのパラメーターを設定すれば、各下流ジョブが上流ジョブのパラメーターを流用できますし、パラメーターの調整もとても便利です。 |
Enable retry | リトライを許可する、回数も設定できます。 |
Job execution type | 一つのMultiJob Phaseの中の各下流ジョブの実行方法(並列か、それとも順番で実行するか)、こちらはいつも「Running phase jobs in parallel」(並列実行)を使っています。 |
Continuation condition to next phase when jobs' statuses are | 次のフェーズに移行する条件、「Complete」を設定すれば該当MultiJob Phaseが完成してから次のフェーズに移行することになります。「failed」に設定すればジョブが失敗になる時の処理になります。 |
4.One Clickで全ビルドを始めましょう
設定が終われば、マルチジョブページで各上流と下流ジョブが表示されますね。
このマルチジョブを始めれば、全プラットフォーム/全バージョンのビルドが自動的に実行されます。
一つ一つのジョブのパラメーターを一個ずつ入力してビルドを始めることがいらなくなって、とても楽になりました。
やっぱりエンジニアにとって、開発やコーディングはもちろん大事ですが、
機械的な作業をどんどんマシンに任せて、大事な人力をより注目すべきの仕事に回すことも、
我々の存在価値に繋がると思います。
今度はまた他の面白い機能を紹介しましょう!!