第5回ゆるぎーでJenkinsについて語ってきました #yuru_gee
渋谷のオシャレイベントスペース 21Cafe で開催された第5回ゆるぎー にスピーカーとして参加しました。
前半は、私が所属するチームにJenkinsを導入した結果、チームがどんな風に変わっていったか〜のような事をお話しました。
スライドはこちら。
Jenkinsさんで、何かを自動化することのコストが劇的に下がった事でチームの皆が「自動化できることは自動化して機械に任せよう」と考えるようになり、人は人がやるべき事に意識が向けられるようになっていった。 Jenkinsを導入して良かったなぁ〜と感じている体験談の紹介でした。
そして、後半はハンズオン。
ハンズオン用リポジトリ はこちら。
やったことはREADME.mdに書いてある通りです。演習はこのテキストを見たら進められるような感じになっているのですが、「肝心のJenkinsのセットアップ」部分がブラックボックス化していたので補足。(README.mdにも追記しました)
インストールしていたプラグインは以下の通りです
- CloudBees Folders Plugin … 「フォルダ」ジョブを作るプラグイン
- GIT plugin … Gitリポジトリからコードを取得するプラグイン
- HTML Publisher plugin … HTMLをビルドレポートにするプラグイン
- xUnit plugin … xUnit形式のXMLをインポートしてテスト実行結果を集計するプラグイン
- Build Pipeline Plugin … パイプラインビューを作るプラグイン
あとは、Jenkinsを実行しているユーザで、 grails コマンドが実行できるようにしていました(バージョンは2.3.7)
時間足りないのでは?の懸念があったのですが、「ビルドパイプラインを作る」がどうしてもやりたかったのです。 ビルドパイプラインは、振り返りの時に参加者さんから「これは面白かった」とポジティブな声が多く聞けたのでこだわってよかったのです。 (時間を捻出する為に、ソースコードの内容に一切触れなくていいようにGithubから特定のブランチを取ってくるだけの3分間クッキング方式にしたり色々w)
あとは、ハンズオンの最中に参加者の方から受けた質問について共有を。
- 他のジョブで保存した成果物を、別ジョブに取り込むことはできますか? → Copy Artifact Plugin を使うとビルドステップで「他ジョブの成果物をコピー」が使えるようになります。
- ジョブごとにワークスペースが作られるけれど、ワークスペースを複数ジョブで共有したい。 → Shared workspaceプラグインを使えばできる(はず)
- パイプラインビューの
No Of Displayed Builds
の設定はどういう意味ですか?→ビューに表示されるビルドパイプラインの行数の設定です。(?をクリックすると説明が表示される、を伝えるのを忘れてしまっていた...) - Jenkinsの1つ1つのジョブの単位ってどのくらいですか?(1つのジョブでビルドとテストとデプロイを実施するの?それとも3つのジョブで分担するの?)→目的が違うなら、ジョブを分割した方が良いと思います。1つのジョブで色々と実行しているとジョブが失敗した時に「何が失敗したか」がわかりづらくなってしまうので。
Jenkins、プラグインが沢山あって素敵なのですが、多すぎて把握できないってのもまた真実なので、下のように思った…。
そうそう、今夜「Jenkinsでこういうことできますか?」の質問を多く受けて痛感しました。
「Jenkins逆引きレシピ」 はよ!w
— あさの (@uasano) 2014, 4月 24
参加してくださった皆様、素敵な会場を提供してくださった21Cafe様、講演内容へのアドバイス・宣伝等してくださったゆるぎースタッフ様、本当にありがとうございました。