Jenkinsおじさんの奴隷になろう!
※本記事は、2017年に別ブログで書いた記事のリメイク版です。JenkinsおじさんのUIがやたら古かったり、(現在ではサポート終了している)Windows7を使用した画像を掲載しています。
お仕事は極力自動化してサボりたい派なので、自動化はガンガン進めていきたい所存。その一環で、JenkinsおじさんにGitのリモートリポジトリを監視してもらって、特定のブランチにソースコードがpushされたら、それをトリガにビルドチェックしたり、成果物をどっかに保存したりとかしたい。
しかし、ビルド環境で使ってるコンパイラのライセンス数に制限があって、ビルドサーバのぶんまで賄えない(予算が足りない!)。でも自動ビルドしたい。どうすればええんや・・・
困って色々とググり回った結果、どうやらJenkinsには「スレーブ」という代打マンが設定できるらしい。つまり、「マスター」であるJenkins氏が何かをトリガに動き始めたら、「スレーブ」である別PCを使って作業をする、という訳だ。よーし、僕(のマシン)がJenkinsおじさんの奴隷になるよ!
まず、「Jenkinsの管理」ページから「ノードの管理」をクリッコ。で、左のメニューに「新規ノード追加」なる項目があるので続けてクリッコ。
すると、なんか英語でゴチャゴチャ書かれてて怖いしよく分からないけどテキトーにノード名を入力してから「Permanent Agent」を選ぶ。英検3級には辛い。
いろいろ入力しろ的な画面になるので、いろいろ入力する。「リモートSFルート」ってのがスレーブマシン上での作業フォルダになるっぽいわね。あとはよく分からんのでとりあえずテキトーに設定して「保存」ボタン。
すると、こんな感じでノードが追加されたけれども、バッテンついてる。こいつを何とかしてオンラインにしなきゃいかんのな。とりあえず、今追加したノードを追加してみる。
またもや英語が出てきたけれども、なんとなく「コマンドラインでこれ叩いたら繋がるよ!」的な事が書いてあるので、それをスレーブにしたいマシン側で「javaws~」の部分をbatファイルに保存して実行してみる。(スレーブ側もJavaのインストールは必須。)
すると、デスクトップにJenkinsおじさんのご尊顔がポップアップしてきて、「Connected」という繋がった感溢れるメッセージが表示された。
Jenkinsに戻って確認してみると、さっきまで出てたバッテンがなくなっている。マスターからも問題なく認識されているようだ。
あとは、ジョブの設定で実行するノードを制限して、さっきのノード名を指定してやればよさげ。
ジョブを実行してみると、俺のマシンがゴリゴリ音を出してビルドを始めた。めでたしめでたし。
・・・まあ、こんなセコいことせずとも会社に金出して貰えれば一番ラクなんだけどな!世知辛いぜ!