第1回福岡Jenkins勉強会 参加報告


イベント情報

タイトル第1回福岡Jenkins勉強会
日時2012年7月31日(火)19時00分〜21時00分
定員65人
会場五幸ビル 4F
住所福岡県福岡市博多区博多駅東1-12-17
告知サイトconnpass – 第1回福岡Jenkins勉強会
関連サイト日本Jenkinsユーザ会
ハッシュタグ#jenkinsstudy
概要東京をはじめ各地で行われているJenkins勉強会が、福岡に初上陸です!Jenkinsユーザカンファレンス後に、Jenkins生みの親の川口さんが福岡に来るとのことなので、合わせて勉強会を開きます!!

リポート

jenkins-study-in-fukuoka-01-report-01
第1回福岡Jenkins勉強会に参加してきました。
つい先日の2012年7月29日(日)に開催されたJenkins ユーザ・カンファレンス 2012 東京に、約1000人!!もの人が集まったことからも注目度の高さが伺えるJenkinsですが、本日も多くの人が集まっていました。福岡で、この類いの勉強会で集まる人数としては、募集期間等を考えても多い方だと思います。個人的にJenkinsの勉強会を主催している身としても、大変楽しみにしてた勉強会でしたが、本当に面白い内容でしたよ!
以下、走り書きのメモを参考に書いているので、不正確な部分等あれば、ご指摘ください。

発表者とタイトル

  1. @kis – 継続的インテグレーションとJenkins
  2. @kohsukekawa – What’s new in Jenkins
  3. @Spring_MT – Jenkinsのテスト以外の使い方
  4. @goking – XFD導入実践記
  5. @ikikko – Jenkinsプラグインの中身を覗いてみよう

1.継続的インテグレーションとJenkins

@kisさんによるセッション。
継続的インテグレーション(Continuous Integration, CI, コンティニュアス・インテグレーション)とは何ぞや、Jenkinsとは何者だという話。挙手による会場アンケートで、3〜5割くらいはCIを導入していない方がいらっしゃったので、主にその方々に向けたセッションです。
サンプルアプリケーションを用いて、実装、テスト、機能追加、仕様変更等、各フェーズにおけるJenkinsのデモをされました。ユニットテストの自動化、テスト結果の推移をグラフィカルに表現する部分等に触れていましたので、まだ触れたことがない人も、何かしらイメージを持つことはできたのではないでしょうか。きしだ節炸裂で、笑いも多いセッションでしたよ!

2.What’s new in Jenkins

本日のメインセッション。Jenkinsの生みの親@kohsukekawaさんのお話。
利用中の方はご存知の通り、リリース頻度が非常に高いJenkins。ほぼ毎週リリースされています。(Jenkins Changelogを参照)それが何年も続いているんですから、スゴいパワーですよね。

で、今日の話は、そのからみです。
Changelogをつぶさに見ている人は、Jenkinsで何が起きているのか、把握できているでしょうが、多くの場合、なかなかそうはいかないもの。ここ最近のリリースの中から、いくつかピックアップして話しますという内容デス。ありがたい。

UIの改善

最近、特に力を入れているとのこと。クリック回数の削減による操作性の向上等、もっと直感的に、もっとわかりやすく。その一部をご紹介。

  • マウスオンでコンテキストメニューを表示します。
    jenkins-study-in-fukuoka-01-context-menu-01jenkins-study-in-fukuoka-01-context-menu-02
  • スクロールしてもパン屑リストがヘッダにクリップされます。保存ボタン等がフッタにクリップされます。
    jenkins-study-in-fukuoka-01-clip-menu-01
  • プラグインマネージャにフィルタボックスが追加されました。
    jenkins-study-in-fukuoka-01-plugin-filter-01
    onKeyUPのタイミングでイベントが実行されるので快適です。
    jenkins-study-in-fukuoka-01-plugin-filter-02
  • 処理の順序等をドラッグで入れ替えることができます。
    この機能自体は前から存在していたようですが、ドラッグ可能な場所にポインタが移動したら、点線を表示して直感的にわかるようにしたとのことです。当日のデモでは点線が表示されていたのですが、再現できませんでした。別の場所?
    jenkins-study-in-fukuoka-01-draggable-01
    ドラッグで順序を入れ替え。
    (わかりづらかったとされる)この機能を前から知っていたかが、初級者と中級者をわけるなんていうジョークも。
    jenkins-study-in-fukuoka-01-draggable-02

その他にも、フロントエンド周りの現代化(Prototype1.7, YUI3)、ページロード時間の改善(gzip圧縮を全ページでオン)等々。

マルチ構成プロジェクト

似たようなテストを複数の環境でしなければならないときに便利なマルチ構成プロジェクトについての話。
今回はウェブアプリケーションを作るときの例、Seleniumを使って、複数のブラウザで、複数の環境でテストをするとした場合の話をされていました。僕は、まだJenkinsを扱い始めたばかりで、主要機能も満足に使えていませんが、これは興味深い話でした。どういったものなのかは、JenkinsのWikiや実例を見てもらうのが早いと思います。

このプロジェクトでは、様々な異なる環境でテストする必要があります。Solaris、Linux,およびWindowsといったOS、Glassfish、TomcatおよびJettyのようなコンテナ、JDK5、JDK6などのVM、様々なStAxの実装。もし、すべての組み合わせをテストするとすれば、36通りの組み合わせが考えられます。フリースタイル・プロジェクトを使うとしたら、ほとんど同じような36個のジョブを準備する必要があります。 これは明らかに維持できるものではありません。
マルチ構成プロジェクトはこのような状況を扱えるようにデザインされています。マルチ構成プロジェクトでは、1つの設定とユーザー定義の複数のパラメータを準備し、ビルドを実行すると、そのパラメータのすべての組み合わせをビルドし、分かりやすく結果をまとめます。

Jenkins Wiki – Building a matrix project より

参考:mixiエンジニアがおくるソーシャルアプリ開発実践講座 – ゼロから始める継続的なAndroidアプリケーション開発のしくみ

Build flow プラグイン

Build flow プラグインについての話。
複雑なワークフローを自動化するプラグイン。ジョブをパーツとして扱い、自由に組み合わせて使えるようになるそうです。ジョブを並列処理したり、ジョブの流れを図示したりもできるそうです。僕の知識が足りなさすぎて、なんとなくしかイメージできませんでした。もっと勉強します。
参考:Build Flow Plugin

質疑応答

4〜5件あったものから抜粋。

Q.開発のロードマップがあれば教えてください。
A.開発者それぞれが必要と思うものを作っている文化なので明示するロードマップはないです。ただ、もっと簡単に使えるようにしたいと思っています。また、もっと高度な要求にも応えれるようにしたいと思っています。
Q.PHPでJenkinsを使ってみたいんですが。
A.プラグインを導入することで使えます。ドイツの方が作った英語のサイトですが、jenkins-php.orgが参考になります。導入方法を取り上げている日本語のブログもいくつかあるので、それを参考にしてみてください。
参考:PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料
参考:CakePHP2.0+Jenkinsで継続的インテグレーションを行う方法
Q.Jenkinsのホスティングサービス等はありますか?
A.(待ってました!)CloudBeesという会社(川口さんが所属されている会社)がサービスを行っております。ぜひ使ってみてください!(この流れは仕込みではなく、たまたま:D)

3.LT

全体的に私語が目立つようになってきて聞き取りづらかったです。特に冒頭と後半。残念。

Jenkinsのテスト以外の使い方

@Spring_MTさんによるLT。
CIとして使うのはもちろんのこと、それ以外の使い方も提案してみますといった内容。まずはJenkinsをものにして、その上で聞いてみたいLTでした。Spring_MTさんのブログに資料のアップがあるかも?!

XFD導入実践記

@gokingさんによるLT。
XFD(eXtreme feedback device)、何とも仰々しい名前ですが、エラー通知を目に見える形にしましょうというのが主旨です。第2回Jenkins実践入門で、一度、実演してもらう機会があったのですが、当日、環境をいじった所為もあって実現せず。今回、初めてパトランプが回るところを生で見ました。面白い(笑)

Jenkinsプラグインの中身を覗いてみよう

@ikikkoさんによるLT。
先の理由からあまり聞き取れませんでした。

4.懇親会

子どもが生まれたばかりなので、残念ながら自粛しました。

総括

僕自身は、まだ使い始めて間もないですし、業務では導入できてないレベルなんですが、今日の話を聞いて、ますます関心が高まりました。
ということで、ここで宣言。
Fukuoka.phpのVol.3かVol.4あたりで、PHPのプロジェクトをJenkinsで管理する話をするのを目標の一つとして勉強したいと思います!
関係者は誰も見てないはずだから問題ない。

告知

2012年8月8日(水)にSwimmyStudy #9 Jenkins実践入門 vol.3というイベントを開催します。聞いて勉強するだけでなく、あなたも一緒に手を動かして勉強してみませんか?!皆様の参加をお待ちしております!

発表者と公開資料

  1. @kis – 継続的インテグレーションとJenkins
  2. @kohsukekawa – What’s new in Jenkins
  3. @Spring_MT – Jenkinsのテスト以外の使い方
  4. @goking – XFD導入実践記
  5. @ikikko – Jenkinsプラグインの中身を覗いてみよう

参考資料

2012年7月29日(日)に開催されたJenkins ユーザ・カンファレンス 2012 東京での川口さんの発表資料です。今回の発表と近しい部分もあるので参考までに。

アルバム

ツイートまとめ