MENU閉じる

HEXA BLOG

インフラ

HEXA BLOGその他インフラ2015.3.24

Jenkinsでのビルドパイプライン構築~構築編01 増えていくジョブと手順とその管理~

こんにちは
昨日は東京で「桜(ソメイヨシノ)の開花」が発表されましたね~
まだ少し寒いですが、春はもうすぐそこまで来てますね
春が来ると花粉に悩まされるだっちです
良い花粉対策があったら募集してます

 

さて、前回のノブの記事
Jenkinsでのビルドパイプライン構築~導入編 なぜビルドの自動化は必要なのか?~
に引き続き、今回は私がJenkinsの紹介をしていきます

 

今回紹介するのはこちら
Jenkins Parameterized Trigger plugin
Jenkinsのジョブからジョブへ変数を渡すことができるプラグインです

 

ジョブからジョブへ変数を渡すといわれても何が良いのかよく分からないですよね…
私も最初はよく分かりませんでした

 

例えば、
・ジョブA
 パラメーター:○○ブランチ
 手順    :
こんな構成でジョブがあったとします

 

そこへ、
「次の提出用の実行ファイル、□□ブランチからビルドすることになったから、準備しといて!」
というミッションが来たとします
この程度なら、今まであったジョブをコピーして、新しくジョブを作り、
チェックアウト先だけ変えれば、とりあえずはミッションクリアとなります
・ジョブA
 パラメーター:○○ブランチ
 手順    :
・ジョブB
 パラメーター:□□ブランチ
 手順    :

 

しかし、
「あ、ビルド手順の、の間にって手順を入れないとビルドできなくなったからよろしく~」

という突然の仕様変更があった場合、
ジョブA、ジョブBそれぞれに対して、ビルド手順の設定を変える必要が出てきます
・ジョブA
 パラメーター:○○ブランチ
 手順    :
・ジョブB
 パラメーター:□□ブランチ
 手順    :
こんな感じですね
2つしかなければ、「ちょっと手間だな~」程度で済むかもしれません

 

しかし、作成する実行ファイルの種類が、
 ・PC向け
 ・ゲーム機向け
 ・PC向けRelease構成
 ・ゲーム機向けRelease構成
 ・PC向け ○○イベント用
 etc…
と、次々に増えてしまった場合
個別に用意するのではメンテナンスが大変ですよね…

 

ですが、Jenkins Parameterized Trigger pluginを使用すると
実際の処理手順と、処理に必要なパラメーターをジョブ単位で分離することができるようになります

 

イメージ的にはこんな感じです
・ジョブA(パラメーター用)

 パラメーター:○○ブランチ

・ジョブB(パラメーター用)

 パラメーター:□□ブランチ

・ジョブ(処理用)

 手順:

・ジョブ(処理用)

 手順:

 ・ジョブ(処理用)

 手順:

 ・ジョブ(処理用)

 手順:

 ・ビルドジョブ(実行用)

 手順 : ジョブA→ジョブ→ジョブ→ジョブ→ジョブ

      ジョブB→ジョブ→ジョブ→ジョブ→ジョブ

最初の構成よりも、ジョブ自体の数は増えますが、パラメーター、手順共に独立しているので、

それぞれを組み合わせて無駄なく利用できるようになっています

 

実際のJenkinsでのジョブの設定は次回、詳しく説明していきます

それではまた~

RECRUIT

大阪・東京共にスタッフを募集しています。
特にキャリア採用のプログラマー・アーティストに興味がある方は下のボタンをクリックしてください

RECRUIT SITE