レポート

Jenkinsユーザカンファレンス2012 東京 レポート(前編)

この記事を読むのに必要な時間:およそ 2 分

複雑な多段階ビルドに対処する:事例紹介

Hadoop関連の事業を展開しているCloudera所属のAndrew氏は,Jenkinsのジョブを分割した際にどのように対処するかについて発表しました。

画像

Clouderaでの事例紹介ということで,以前は単一ジョブ内で独自のPythonスクリプトを用意してビルドしていたものを,複数のジョブに分割してそれぞれのジョブを連携させるようにしたという説明がありました。これによって,失敗したジョブのみ再度ビルドできるようになったことや,ビルドの並行化によってビルド時間を短縮できたことが改善できたとのことでした。また,分割されたジョブをうまく連携するために,Andrew氏が採用したJenkinsプラグインをいくつか紹介しました。

プロジェクトの初期フェーズでは,複数のジョブを作成するより単一のジョブで構成する方が手軽に設定できるかと思われます。ただし,本発表で説明されたように,単一のジョブだと細かい単位での制御を行いにくくなります。ビルドプロセスが巨大かつ複雑になり過ぎる前に,適切な単位で分割して制御しやすくしておく必要があるでしょう。

毎日が憧れの新築,反復可能なデリバリーによる常時新築システム

株式会社富士通研究所の大嶽氏は,サーバ環境の構築を自動化する試みについて発表しました。

画像

まず,Excelファイルに自然言語とスクリーンショットで記述された環境構築の手順書について,変更があっても更新されないことや実行するまで結果が分からないことといった問題点を指摘していました。続いて,上記の問題点を解決するために,JenkinsとChefを組み合わせた自動化の実現方法についての説明がありました。最後に,自動化された環境構築を高速化するために,必要なバイナリファイルはあらかじめダウンロードしておくことや,何度実行しても同じ結果となるような手順にしておいて(冪等性)途中からでも環境構築を再実行できるようにして構築時間を短縮するといった手法が紹介されました。

当初は8人日かかっていた環境構築が現在では最短で2分となったことによって,チームメンバーの意識も変わっていったと大嶽氏は話していました。自動化や高速化にはこのように,単に工数削減といった定量的なものにとどまらず,メンバーの意識といった定性的なものまで改善しうる可能性があります。最初からすべてを完璧に取り組むことは困難かとは思いますが,できるところから自動化/高速化に着手していくとよいでしょう。

LT大会

カンファレンス最後のセッションは,総勢5名の発表者によるLT大会を行いました。

画像

LT発表では,書籍執筆やFlash開発でJenkinsを利用する話や,開発だけでなく運用時にJenkinsを利用するという話もあり,多岐に渡っていました。また,英語圏でのJenkinsコミュニティがどのように運営されているかを,逐次通訳を交えながら紹介する発表もありました。

LTといえばドラという話もあり,5分経過した発表では無情に鳴り響くドラの音がいいスパイスとなっていました。正午前から6時間近くにわたって開催されたカンファレンスの締めくくりとして,非常に充実したLT大会だったと思います。

後編に続く

前半にあたる本稿では,メイン会場で行われた発表のレポートをお届けしました。後編では,その他の2会場で行われた発表のレポートをお届けします。後日公開いたしますので,公開を楽しみにしていただければと思います。