桜、抹茶、白、日記

名古屋市在住のC++使いのcoderの日記だったもの。

第1回 大阪Jenkins勉強会 に参加

興味があったので行ってきました。

第1回 大阪Jenkins勉強会
http://atnd.org/events/18883

公式まとめ

第1回大阪Jenkins勉強会
https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=58002673

60名位の人が参加。

[twitter:@kiy0taka]さん - Jenkins入門

  • ATNDの質問票
    • 使っている開発言語
      1. Java
      2. C++
  • ビルドで困る事
    • チェックアウトしたらコンパイルエラー
    • パッケージングのやり方が分からない
    • 他チームの最新入れたらコンパイルエラー
  • 継続的インテグレーション
  • Jenkins
    • OSSのCIツール
    • インストール/設定/運用が簡単
    • ブラウザから設定/確認が出来る
    • プラグインでいろんなビルドに対応
  • インストール
    • jenkins.warをダウンロード
    • java -jar jenkins.war
    • プラットフォームごとのパッケージも用意されている
  • プラグイン
  • デモ
    • curlコマンドでjenkinsのURLにアクセスするとビルド可能。
      • →SCMのフックに上記コマンドを指定する。
  • ツールの自動インストール
  • マスター/スレーブ構成
    • 1つのサーバで同時にビルドできるジョブは限られる
    • スレーブノードを増やす事でスケールする
    • 複数のプラットフォーム上でビルドも可能
    • 余っているPCを有効活用
  • まとめ
    • Jenkinsの導入はとても簡単
    • Javaのプロジェクトなら30分もあれば設定可能
    • Jenkinsがあれば安心してコミットできる
    • 自動化出来る所は自動化して、自動化できない所にリソースを割り当てる

日本Jenkinsユーザー会
http://build-shokunin.org

  • 感想等

環境構築の話やデモを見たのは始めてだったので、結構簡単にセットアップできるんだなと勉強になりました。
Jenkinsって単体で使うものではなくて、ビルドツールやSCM等と連携するものなので、躓くとしたらその辺の環境設定部分なんだろうなと。

[twitter:@yugolf]さん - 甲賀流Jenkins活用術

  • 『Xenlon〜神龍』の開発に必要な物
    • アプリケーションの開発基盤
  • 特徴
    • コンポーネントの数が多い
    • リリース周期が短い
    • あらゆるPJで利用されている。DB, OS, Browser, NW環境
    • 東京・大阪の分散開発
    • 同じチームで、開発、プロジェクト支援、現場展開を実施
  • CIの構成
  • Xenlon開発のJOB構成
    • 日中:SCMポーリング
      • リアルタイム性が要求される
    • 夜間:定期実行
    • リリース前:手動実行
  • JOBの編成 - lib&tool
  • JOB編成 - sample
  • Multi-DB-test
  • static-variable-detector
    • Javaのstatic変数のチェッカー
  • Make ZIP
    • オフライン配布用ZIP作成
    • 開発用Subversionへのコミット
    • サンプルPJからブランクPJの作成
  • 現場PJ向けPlugins
  • Redmineとの連携
    • Jenkins to Redmine
      • 変更履歴の参照
        • ソースコードの変更箇所を参照
        • 変更ファイルをツリーで参照
        • ビルドに対するチケットの参照
        • ビルドに関連するチケットの参照
  • CIの効果
  • Next
    • MultiAPサーバのテスト
    • tags branches JOBの整備
    • CIの社内展開
    • ディスクの節約
    • 自動コミット時のメール通知の仕組み
  • 感想等

自社で開発しているアプリケーションの開発基盤プロダクトの開発において、CIと様々なツール群をどのように組み合わせて開発を行っているかというお話。
分散開発しているのに、Subversionを使っているというのはちょっと意外だったな。

[twitter:@shinsukeoda]さん - .NET なプロジェクトでもJenkinsを使ってみた

  • CIで何が嬉しい?
  • .NET で CI
    • TFS
    • CCNET
      • 設定がXMLファイルベースで大変(v1.4)
  • Jenkins
    • GUIがある。GUIサイコ−。
  • .NETの開発環境
  • Jenkinsサーバーへの事前準備
  • どんなプラグインを使った
    • MSbuild Plugin
    • NUnit Plugin
    • HTML Publisher Plugin
      • PartCoverの結果をHTMLに変換
  • PartCoverプラグイン
  • Violationsプラグイン
    • FxCopの結果に使える
  • Silverlightのテスト
  • 選ばれし者の場合
    • MSDNライセンス持っているならVSをJenkins鯖に入れると便利
  • おまけ
    • CUIさいこー
    • 自動化するにはGUIベースは難しい
    • GUIベースかつCUIで実行できるツールが便利
    • MSBuildファイル(.proj)を別に用意する
    • Jenkins向けにプロジェクトファイルを用意する
      • 実行処理を一式入れるのではなく用途別に用意する
  • まとめ
    • .NETのプロジェクトでも十分
    • TFS使っているなら乗り換え不要
    • GUI/CUI両方対応ツールが最高
    • MSBuildは自動化の第一歩
      • CIサーバーがなくても自動化できる
  • 感想等

.NET系の開発ツールもJenkinsと組み合わせて色々出来るよ!といった内容。
用途別にVisualStudioのプロジェクトファイルを分けた方が良いというのは確かにそうですね。

Lightning Talks

[twitter:@irof]さん - Jenkins & Tests
  • ノーマルでの使用
  • 自分の端末に入れていた
  • 結構うけた
    • やってみせるが有効
    • 導入が手軽
  • Jenkinsのお仕事
    • ビルドする
    • テストする
  • 自動テストの問題
    • 書くの面倒
    • 動かすの面倒
    • 保守するの面倒
  • 勝手に記録
  • コードが腐らない
  • Jenkinsがいるとテストが書きやすい
  • 直しにくいテスト
    • 壊れる
    • 読みにくい
  • 直しやすいテスト
    • とにかく書いてみてより良いものを目指す
    • OSSのテストコードを読んでみる
  • 感想等

PG視点でのJenkins使用についてのお話。
現場でJenkins導入するにはどうしたら良いかだったり、導入したからの問題について参考になった。

[twitter:@yohhatu]さん - Jenkinsさんがいる時いない時
  • 好きなもの
  • Jeinkinsさんとの出会い
    • 第一印象
      • 良さそうなおじさん。だけどめんどくさそう
    • その後の印象
      • 疑ったりしてごめんよ
  • 安心して進める事ができない
  • 新しいPJに入ったらまずJenkinsさんに仲間になってもらおう
  • 大阪 551 HORAI
    • ???
  • その壱:チームにて
    • ビルド壊れた
      • いる時
        • どのコミットかすぐに分かる
      • いない時
        • 俺の環境では動いていた!俺の環境では動かない!
  • その弐:QA
    • ???
      • いる時
        • テストの状況はJenkins見てね
      • いない時
  • その参:お客さんから
    • デモを見せてくれ
      • いる時
        • いつでも動くものが用意されている
      • いない時

あとはRedmineの勉強会の宣伝

RxTstudy
https://sites.google.com/site/rxtstudy/

[twitter:@kohsukekawa] - HudsonからJennkinsにかわりました

HudsonやJenkinsの生みの親である川口さんのビデオ録画されたセッションを視聴。

  • かわった理由(英語)
  • Jenkinsへのアップデートはお済みですか?
  • アップデートするのが安心な理由
    • クラス名・パッケージ名は一緒
    • システムプロパティ名も一緒
    • 使っているライブラリも一緒
    • 開発者も一緒
    • 開発モデル等々も一緒
  • という事は・・・
    • 記録されているデータも互換性がある
    • プラグインもソース・バイナリともに互換性がある
  • デモ
    1. コマンドラインからの起動のアップデート
    2. Debianパッケージからのアップデート
    3. サーブレットコンテナの場合のアップデート
      • URLが変わってしまうので、jenkins.warをhudson.warにリネーム

懇親会 (於:ぐるなび - レストラン予約と宴会・グルメ情報 検索サイト)

16名位の方が参加。
7月のこの勉強会(d:id:youandi:20110723#p2)でお会いした[twitter:@naoina]さんとお話したり、わんくま・プロ生でよくお会いする[twitter:@shinsukeoda]さんや勉強会参加無双の[twitter:@irof]さんに顔を覚えてもらっていたりしていた。

あとはプロ生@品川でお会いした人が参加していてびっくりするなど。例によってぼっちな感じになっていた。

参加しての感想等

全体的に個々のセッションの時間が短いので、ちょっと早口な感じで進んだ感じでした。なので質問もあまり出なかったんじゃないかと思いました。まあその分、入門的と運用的とバランス良い感じになっていたとは思いますが。