Shinya’s Daily Report このページをアンテナに追加 RSSフィード

2011/10/15(土)

[][][]第4回Jenkins勉強会に参加してきた #jenkinsstudy 23:39 第4回Jenkins勉強会に参加してきた #jenkinsstudyを含むブックマーク 第4回Jenkins勉強会に参加してきた #jenkinsstudyのブックマークコメント

f:id:absj31:20111015214040j:image

(写真:夜の六本木ヒルズ。)

第4回Jenkins勉強会を開催します。

今回のテーマは「C/C++/C#(...etc)プロジェクトにおけるJenkinsの運用について」です。
第2回で取り上げたJava、第3回で取り上げたLL言語とはまた違った視点からの有用な事例を聞けることでしょう。
興味がある方はぜひご参加ください。

ハッシュタグ:#jenkinsstudy

はい、と言う訳でJenkins勉強会、参加して参りました。Jenkins勉強会については第1回を除いて第2回から連続で、また一昨日にはJenkins関連の勉強会にも参加して来ましたので2日振りの川口さんご拝見、という感じです。

開催場所はグリー株式会社。以前HTML5とか勉強会Googleに訪れて以来の六本木ヒルズです。

f:id:absj31:20111015164740j:image f:id:absj31:20111015164751j:image


講演:クロスコンパイルに役立つmatrix projectの紹介

f:id:absj31:20111015171155j:image

川口さんの服装、『JenkinsTシャツ』なのはさすがです。:-)


  • モデル
    • 軸を定義
      • 軸=forループ
    • 軸には幾つもの種類がある
      • スレーブ:複数のスレーブ
  • 組み合わせフィルタ
    • 全組み合わせを実行すると数が多すぎる場合
    • 意義のない・不可能名組み合わせがある場合
    • ブール式で有意義な組み合わせを指定
    • indexを使って一律カット
      • バラエティを保ちつつ均等に間引く

f:id:absj31:20111015171828j:image

  • 環境によって影響を受けやすい、という状況が、CやC++等が多いのでは。

質疑応答:

  • Q:機能を知っていた人?
    • A:数人。川口さん『紹介した甲斐がありました』
  • Q:川口さんがマルチプロジェクトをどういう件で使ったか
    • A:異なるJDKでのテスト/以前のバージョンとの連携確認テストなど。

講演:「Jenkins+α」で開発環境がみるみる良くなる VisualC++編

f:id:absj31:20111015172644j:image

  • 自己紹介
  • Visual C++
    • Jenkinsと他のツールの組み合わせ方を紹介
      • 組み合わせを使ってナンボ
    • 具体的な説明のために環境を特定しました
      • 他の環境にも適用可能です。
  • 自動テスト
    • C++ユニットテストツール
      • CppUnit, CppTest
        • 比較的歴史が長い、最近の更新頻度は低い
      • GoogleTest
        • 充実したテスト機能
      • MSTest
        • VS2008からProfessional Edition以上で利用可能
        • 元はTFSで使えた機能
        • データドリブンテストが良い感じ!
    • テスト結果をxmlで出力
      • Jenkinsが読み込んでグラフ化してくれる
      • 標準対応はJunit形式(googleTest)
    • その他テストツールは

  • UIの自動テスト
    • 起動→終了だけでも効果あり!
    • Jenkinsのスレイブをテスト専用環境に入れてクリーンな環境で実行
      • 利用者と同じ環境設定
      • リソース忘れ等の確認


  • メトリクス分析
    • コード行数やコメント率、複雑度などを分析
    • 推移や他のプロジェクトと比較して健全度を測る
      • ※うまく運用するのが難しい点でもある。
    • CCCC(C and C++ Code Counter)
      • あんま使い物にならなかった。

  • P+ython Plugin

  • とりあえずわさったものを片っ端から紹介してみました。どや!(ドヤ顔写真は寝入れれど)
  • 全部のせの巨大なシステムを見せられても引きます。
  • 引いた人もいるでしょ?
  • もともと開発環境系のツールに詳しかったわけではない。
  • 統合すると便利そうなものを試そう。
  • 効果が出そうなものを本番環境へ導入。
  • Jenkins(hudson)さんとぼくの歴史(上/下)
    • 自動ビルド導入
    • メール通知誤爆事件
    • 成果物のパッケージ化、デプロイ自動化
    • UIの自動化テストを導入(autolt)
    • ドキュメントの自動生成
    • チーム外への波及
    • チケット管理との連携を考える
    • 静的解析(coverity)とjenkinsとredmineの連携(2011.08)
    • 試して使う人の反応が良いものを残す
  • まとめ
    • まずは自動ビルドから。
    • 次に効果の高そうなところから
    • 関係者と価値観を共有しながら
    • 継続していきましょう。
    • Visual Studio GUIのテスト大変。うまい遣りようは無いのか?
      • ビルドの設定
      • ネットの情報で有益なものがあったのでそれで。。。

講演:輪るBingドラム.NET - CI戦略、しましょうか(仮)

f:id:absj31:20111015181014j:image

  • 名古屋から来ました。
  • C#だけ異色を放っている感が
  • C#よりもむしろF#』。
  • お仕事でjenkinsまわしてます。
  • Bingとか出て来ません。すみません。

  • まとめると『MSbuild便利だよね。
  • この発表では以下について発表します。
    • 構成の紹介
    • 実際に運用してどうだったか
  • 構成
    • 社内では出来る限り模したサーバを構築
    • ビルド環境も別途Jenkins環境として用意


  • Jenkins導入の効果
    • 問題の早期発見
    • リリースプロセス標準化
      • 導入前はリリースはかなり適当だった
    • 開発者に安心を与える
      • (個人的に)思いもよらない効果
        • 開発者は不安を持っている
          • 手許ではビルド出来るけど、他では…?
          • さっきの変更で他の何か壊してないかなぁ…?
  • 失敗談
    • ビルド後に行う処理をjenkinsの外に出したこと
      • →だめなこと
    • 全てのビルドを1つのマシンに集約したこと
    • 何もないところからビルドせずに問題発見が遅れたこと

  • 無理して1つにまとめない
    • そうしないと
      • ビルドマシンの中がぐちゃぐちゃに
      • 失敗するべきビルドが成功してしまうことも
    • どうする?
      • 必要な環境毎にビルドマシンを分ける
      • 各々をスレーブ毎にわける(まだできてない)
  • 必ず何もないところからビルドする
    • そうしないと
      • 失敗するべきビルドが成功してしまう
    • どうする?
      • 何も無いところからビルドするようにしましょう。
        • こんな当たり前のことで失敗してしまった
  • まとめ
    • .NETでもJenkins便利です
    • 開発者に安心感を!
    • 基本に忠実に!
  • 質疑応答
    • TFSが優れているところは?

LT:Jenkinsを愛する全ての人に贈る『Jenkins実践入門』 11月発売! 目次チラ見せしちゃいます

f:id:absj31:20111015183001j:image

  • Jenkins実践入門
  • 日本初の日本語Jenkins書籍!
  • 自己紹介

  • Jenkinsの情報収集ってどうやってますか?
    • ヘルプ
    • Wiki
    • 日本Jenkinsユーザ会
    • Jenkins ML
    • 洋書
    • 男は黙ってソースを読む!
    • 自由度が高すぎてどうすればよいか…

f:id:lino:20110929203414j:image:w300

  • 川口さん監修!
  • 現場の声、ベストプラクティスも!
  • サンプルプロジェクトも!
  • 2011/11/11発売予定。
  • 目次の紹介。
  • よりすぐりのコラムも充実。
  • 印税は入らないそうです...

LT:こっちだってJenkinsを愛する全ての人に贈る『Jenkins The Definitive Guide日本語訳』 実践入門の(たぶん)ちょっと後に発売!

f:id:absj31:20111015183709j:image

こちらの前半は連続写真で御覧下さい。上記の書籍が出る、という事を踏まえた味わい深い(著者にとっては泣きたくなるような)展開となっております…^^;

f:id:absj31:20111015183728j:image:w250 f:id:absj31:20111015183742j:image:w250 f:id:absj31:20111015183749j:image:w250

f:id:absj31:20111015183756j:image:w250 f:id:absj31:20111015183811j:image:w250 f:id:absj31:20111015183901j:image:w250

  • @tamagawa_ryujiさん曰く、『印税は私に入ります』という事らしいです。
  • Hadoopの書籍(象本)が有名。
Hadoop

Hadoop

  • 『Jenkins: The Definitive Guide』の訳本。
Jenkins: The Definitive Guide

Jenkins: The Definitive Guide

    • まじめな人英語読める人は英語読んだ方が良いよ。
    • ちなみに:マルチ構成プロジェクトの話はかなりくわしく書かれています。
    • Amazon Web ServicesEC2とか、CloudbeesさんのDEV@cloudの話も出て来ます。
  • 発売予定は?
    • おそらく1月に出せるのでは。
    • ご期待下さい!

f:id:absj31:20111015184050j:image


LT:Jenkins温泉とは何だったのか(仮)

f:id:absj31:20111015184318j:image

  • 自己紹介
  • Jenkins温泉とは何だったのか!
    • 良い大人達が
    • 一日中
    • (以下略)
    • 一般人からみると明らかに異質な集団による集まりでした。

f:id:absj31:20111015184413j:image

  • 総評
    • 川口さんとリアルタイムでやり取りできる!
    • Jenkins漬け。頭を切り替えられる。
  • 次回乞うご期待!(あるのか?)

f:id:absj31:20111015184804j:image


LT:Ruby Plugins for Jenkins

f:id:absj31:20111015185014j:image

終演時間まで間が空いていた為、突発的にLTが追加されました。こちらはそのうちの1つ、Rubyに関するものです。

スライド資料は上記の1枚のみ。あとはリンクを辿ったり実演等で解説を行っておりました。関連スライドは以下。


LT:Jenins Confの開催報告

f:id:absj31:20111015185750j:image

先日海外で行われた『Jenkins user conference 2011』に関する報告LT。

  • 発表への応募 30+
  • 参加者:250位
  • 7スポンサー
  • 2トラック 20の発表
  • 世界各国から参加者が集まった。
  • ホテルの2フロアを貸し切り。

f:id:absj31:20111015190008j:image:w300 f:id:absj31:20111015185905j:image:w300

  • 川口さんの発表:plugin growth
    • 2007年から増加。
  • チケットのアクティビティ
    • 増加+ペースも増えている

  • スライドとビデオは後で公開予定。
  • エコシステム拡大
    • Jenkins is now in Ubuntu
    • Ubuntuにオフィシャルで入るようになるらしい。

LT上ではこんな書籍の紹介もありました。PHP x Jenkins。


個人的にはJenkins洋書を購入し実践を踏まえて読み進め中だったので、(C++/C#等寄りのセッションではありましたが)数多くのプラグインが存在し、利用・実践手法を知る事が出来たので非常に有意義勉強会になりました。

なお、Jenkins本原書はeBook形式で無料で入手可能だそうです。今回発表されたJenkins本×2冊が出る前に、英語版で挑戦してみるのは如何でしょうか。(個人的には読み易い方だと思います。)

f:id:absj31:20111015200225j:image:w800

その他関連サイト: