日々常々

ふつうのプログラマがあたりまえにしたいこと。

第1回大阪Jenkins勉強会行ってきました


思った以上に人が来てびっくりしました。平日と言うこともあり残念ながら来られなかった方も多数いらっしゃいましたが、次回に期待したいです。

Jenkins入門 @kiy0taka

まず最初にJenkinsやCIの導入説明。属人的ビルドが抱える問題をCIが解消出来る。そんな感じでざっくり話されたあとに、デモにはいりました。
操作はコマンドベースでされていましたが、Subversionリポジトリの作成、チェックアウト、MavenEclipseプロジェクトの作成などは開発現場では普通にやってることなので、Jenkinsとは無関係。
デモの内容は「Subversionを使用した、JavaMavenプロジェクトにJenkinsを導入する」でした。

  • Jenkinsをダウンロードしてくる。
  • Jenkinsを起動する。
    • java -jar jenkins.war
  • ブラウザを立ち上げる
  • 新規ジョブ作成
    • Mavenプロジェクトなんで「Maven2/3プロジェクトのビルド」がてっとり早いのですが、あまりに簡単すぎてデモ的に面白くないのでフリースタイル。
    • しようとしたら「Mavenどこだよ!」とJenkinsに言われるのでそれを設定。
    • とは言え設定項目はMavenビルドの選択とゴールの設定くらい。
    • ここでMaven以外にAntやバッチ、シェルも使えますよと紹介
  • ビルド実行して結果を確認
  • Subversionにコミットフックを設定
  • エラーになるテストコードを追加
  • コミットした瞬間にJenkinsがビルドを始める

Jenkinsに対する設定は全てGUIで出来ること、そこからJDKMavenなどの自動インストールも出来ること辺りが会場の興味を引いた感じでした。(何かトラブルでインストールするJDKとかのプルダウンが出てませんでしたけども。)
使ってる人にとっては当たり前のことですが、真っ新なプロジェクト作ってJenkinsがビルド始めるまで5分程度のお手軽さは、触ったことが無い方が大半だった会場にも説得力抜群だったと思います。また、この説明が最初にあったので後のセッションにすんなり入れた感じでした。

甲賀流Jenkins活用術 @yugolf

Xenlonと言うフレームワークの特徴と、その開発におけるJenkinsの活用例についてのお話でした。
Xenlonは多数のコンポーネントで構成され、かつ短期間でリリースされることもあり、リリースのたびに手動での検収を行っているととてもじゃないけれども開発がまわらない状態になる(3ヶ月間隔のリリースで1ヶ月まるまる試験に費やす等)わけですが、そこで日常的に試験を行うことでリリース時の負荷軽減に成功しているようです。一つのプロダクトに対して複数のJobを日中、夜間、リリース前などにわけて行っているという、ビルドだけじゃないJenkinsの使い方の実例でした。
他にCIのメリット、やはり常時ビルドと問題の早期発見が強みですね。また豊富なプラグインがあるJenkinsは、もちろん三種の神器(CI,SCM,ITS)の他とも連携出来ます。ここではITSであるRedmineとどう連携されるのかでしたが、最新の更新一覧のファイルからRedmineのdiffへのリンクや、ビルドに対するチケットのリンクなどが挙げられていました。リンクされるのでブラウザで簡単に確認出来る。すばらしい。

.NET なプロジェクトでも Jenkins を使ってみた @shinsukeoda

2-3年前に使用された体験談をベースに、「今ならこうする」という.NETなおださんならではのお話でした。ちょうど仕事で.NETしそうな感じなので、私にとっては本日のメインはこれだったりします。
CIはJenkinsだけではないので、他のTFSやCCNETなども話に出された上でJenkinsを選択。ビルドツールの自動インストール等に対応していない環境でのJenkins導入例として非Javaな開発での参考になるのかなと思いました。今回のお話を参考に何とかJenkinsさんをお連れしたいものです。話の中では「Jenkinsを使うもののJenkinsに依存しないようにする」とかも出てきました。Jenkinsに色々設定すれば確かにビルドは出来るようになるものの、Jenkinsが無いとビルドが出来なくなる状態に陥ります。それを避けるために、たとえば.NETならMSBuildに押し付けるなど。
テスト結果や静的解析の収集を行うには少々凝ったことをしないと行けないんだなーと、この辺は手間ですね….NETもJenkinsもちゃんとわかっていないので、多分やらない気がします。

LT

  • 私のは書いた通り 第1回大阪Jenkins勉強会でLTった - 日々常々
  • @yohhatu
    • 各シチュエーションでの「Jenkinsがあるときーないときー」な関西だから使える551ネタでした。ビルド、環境による動作差異、品質の元ネタ、最新版のユーザデモなど、Jenkinsがあれば素早く対応できるようになるかも。
  • @kohsukekawa
    • ビデオセッションによるHudsonからJenkinsへのアップデートの話。ぶっちゃけると「名前が変わっただけで今まで通りの普通のバージョンアップ」と言うことですかね。Jenkinsのバージョンアップが非常に頻繁なのは有名な話ですし、その一環な感じで。通常のバージョンアップと同様に戻すことも出来るらしい。
    • 見慣れたおっさんとお別れして、気品溢れるおっさんをお迎えしよう!