皆さんお久しぶりです❗️
最近、格闘ゲーム部にも加入して、必死に練習を積んでるミヤチです❗️❗️
さて、今回の話題はJenkinsです!
(とてもダンディなJenkins執事)
前々から、Jenkinsの話はしたいとは思っていたものの、有名なツールですし、『今更ほしい情報なんてあるのだろうか…?』と思い中々記事にできなかった話題でもあります…。
とは言え、世にある実例記事のなかでもコンシューマゲームでのものとなると数も少ないということから、少しでも公開して情報の輪を広げていこう!という思いから筆を執った次第であります。
ただ、色々話を広げていくと長すぎる記事になりそうなので今後数回にわたって分割してお話していこうかと思います。
というわけで第1回は「マルチ構成のプロジェクト」について取り扱いたいと思います!
Jenkinsのジョブを新規で作るときに選ぶ種類の1つですが、活用されてますでしょうか?例えばネイティブでコンシューマ機を開発していると以下のようなパターンの組み合わせ別で実行バイナリやアセットのコンバートをすることになります。
- プラットフォーム
・PS4
・Vita
・Windows x64 - ビルド構成
・Debug
・DevOpt
・Release - 言語種別
・JP
・EN
つまり3*3*2の18パターンの処理をしないといけません。
すべてのパターンのJobを作ってもいいですが、何か共通の部分で変更を行わないといけない場合は、その変更をすべてに反映させるのは面倒です。
1つのJobで1すべての処理をするようにビルドしたり、パイプライン用にGroovyスクリプトを書くのも有りですが、こういった“ほぼ同じ処理の組み合わせ違い”を行いたいときに便利なのが「マルチ構成のプロジェクト」です。
まずは「新規ジョブ作成」から「マルチ構成プロジェクトのビルド」を選びジョブを作成します。
ジョブの設定項目は殆ど「フリースタイル」と同じですが、「ビルド・トリガ」の下に「マトリックスの設定」という項目が追加されています。
今回は、先ほどの例に出たプラットフォーム、ビルド構成、言語種別のユーザー定義を「軸の追加」から追加します。
※マスターで実行するならこれで終わりですが、スレーブ側で実行したい場合は「軸の追加」から「スレーブ」を選択し、個別ノードより実行したいスレーブを選択してください。
ユーザー定義で指定した名前はビルド中に環境変数として渡されてきますので、これを利用してビルド処理内部で各パラメータとして扱います。
例) echo “run:%PLATFORM% %BUILD% %LANGUAGE%”
プロジェクトの画面ではこのように格子状に組み合わせが表示されるので万が一失敗したビルドがあっても一目でどこが失敗したかがわかります。
このJobを実行すると…
ババーン❗️❗️
※実際には集中線は入りません
一気にビルドキューが発行されましたね!これで各組み合わせで実行されるようになりました!
これで仮に組み合わせパターンが増えてもユーザー定義を少し書き換えるだけで対応可能なのでメンテナンスも楽なのもメリットです。
Jenkinsにはまだまだ便利な機能がありますので、今後も色々発信していきたいと思います。
ではまた👋