エンジニア

One ClickでJenkinsにお任せ(その一)!

投稿日:

こんにちは、ワンダープラネットグローバルスタジオ所属のエンジニアのギュウと申します。

会社の開発ブログに投稿することは初めてなので、
どんな内容を書けば良いので、結構悩んでいましたね。
今まで多くのプロジェクトを経験してきて、フレームワークもライブラリもそれぞれでしたが、
共通的なツールといえばやっぱり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で全ビルドを始めましょう

設定が終われば、マルチジョブページで各上流と下流ジョブが表示されますね。
このマルチジョブを始めれば、全プラットフォーム/全バージョンのビルドが自動的に実行されます。
一つ一つのジョブのパラメーターを一個ずつ入力してビルドを始めることがいらなくなって、とても楽になりました。

やっぱりエンジニアにとって、開発やコーディングはもちろん大事ですが、
機械的な作業をどんどんマシンに任せて、大事な人力をより注目すべきの仕事に回すことも、
我々の存在価値に繋がると思います。
今度はまた他の面白い機能を紹介しましょう!!

採用情報

ワンダープラネットでは、一緒に働く仲間を幅広い職種で募集しております。

-エンジニア
-,

© WonderPlanet Inc.