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

2012/02/22(水)

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

f:id:absj31:20120221210720j:image:w700

(写真:ビアバッシュ時の書籍プレゼント抽選にて、何と2/24発売の「Jenkins」日本語翻訳版を頂きました♪)

今回第5回のJenkins勉強会は、場所を楽天株式会社品川シーサイド にて行われました。

追加募集が何度か行われており、多くの参加者数が予想されましたが、それら多数の参加者を楽々収容するスペース!(過去自分が訪れた勉強会で言えば、縦サミもここでしたね)

今回は会場設備準備のために若干開始時刻から遅れていたため、この時間を使って場つなぎ的にアイスブレイクトークが行われてました。


  • 今回はプレゼントがあります。
Jenkins

Jenkins

    • WebDB PRESS今号(川口さんの記事あり)
  • 会場に来られた方々の中での利用言語調査
    • Java(約半分)
    • Ruby 10人ちょっと
    • Perl 2〜3人
    • python 10名 川口さん『ここの場合は特定層に偏っている』
    • PHP 10名
    • .NET 4人
    • C++ 8人
    • Javascript 15人

DEV@cloud Jenkins-as-a-Serviceの舞台裏 -Jenkins-as-a-serviceはどうやって動いているか-

f:id:absj31:20120221191154j:image

  • Chefの使い方の工夫
    • Chefにゼロからスレーブをセットアップさせていると間に合わない
    • 予めセットアップしたやつをAMI
      • 残りデルタだけを起動時にChefにやってもらう
  • JenkinsとChef/Puppet
    • 敷居が高い側面も:Chef
      • 最初は手で管理
      • ツールの文法を覚えるコストが掛かる
      • でも覚えちゃえばあとは楽
      • 手動はいつまでたっても手間変わらず
      • 最初からChef導入は大変、少しずつ導入を
  • スレーブの割り当ての仕組み
    • Providore
      • ブローカー・サービス
      • Jenkinsの外部
      • jcloudsを使ってEC2 APIと対話
      • 等々
  • プールからの割り当て
    • (図解説あり)
  • EC2からの割り当て
    • (図解説あり)
      • EC2 APIが落ちてもよいようにせよ、という教訓。
  • Nagiosによるモニタリング
    • jenkins-ci.orgも
    • 拡張可能
    • テキストベースの設定ファイル
    • PagerDutyとの統合
    • サービス間の依存関係の
    • モニタすべきもの
      • ユーザーが見るもの:indexページ
      • JVMヒープ、特に
      • 負荷
      • ディスクスペース
      • スレーブの稼働状況
  • 『一度きり→手作業』vs『繰り返し→自動化』
    • 他のツールとの連携は我々には「いちどきり」ではない
    • エコシステム・パートナー
      • あらかじめ統合を自動化しておく
      • ユーザーは連携を有効化するだけ
  • まとめ
    • 野良Jenkins、増えていませんか?
    • 少しずつシステマティックな管理を導入する
    • この事例が参考になりますように。
    • (お知らせ)川口さん執筆の記事掲載『WEB+DB PRESS Vol.67』2/24に発売!

楽天での"Continuous Delivery"読書会について

f:id:absj31:20120221193558j:image

  • Continuous Delivery
  • 弊社で実施している勉強会のご紹介
    • きっかけ→募集→実施→各回の進行
    • 各種イベント
    • 肝心の内容
    • セッションの最後に、ひとつご提案(問いかけ)を。
  • はじまり
    • 昨年、ある日の個人面談
      • 最近の若いひとはどうやって勉強しているのだろうか
      • やって1年前はやってたけど、最近は勉強会やってなかった
    • よしおかさんにネタ相談、社内ソーシャル(Yammer)で問いかけてみる
      • Jolt Awardでは良い本が幾つか挙がっているので、その中から選んで読書会をやってみては?
    • 半日位待ったが、よしおかさん以外からは特に返事が無く、likeのみ。
      • 自分だけ、社外の勉強会に参加することに。
      • 待ってみた
      • 結局4〜4名がlikeを押したのみ
        • 投票機能を使うまでもなく→だらだらと「この本面白そう」とつぶやく
        • 突然、2人「Continuous Delivery買っちゃいました」と写真付で投稿
        • non Japaneseからも「英語でやるのか?」と問い合わせ
      • 2週間後から第1章開始。
      • 1回目:5名で実施
        • 日本語で実施、Yammerには英語で内容を共有。
        • 自己紹介・ポジショントーク(参加理由・目的)
    • この時点での勉強会進行プラン
      • 週1回、1章ずつ。2012年02月ごろには終了
    • 第1章「ソフトウェアデリバリにおける問題」
      • 「自動化」がカギである。人間は生産的なことをすべき。
      • 全関係者とのコラボレーションが大切
      • 継続的改善のためのフィードバック
      • たしか、この本も英語ではなく、日本語だったと思う
      • 本の要約だけではなく、実業務との対比等、現場感のある発表が行われ、議論が活発化
      • 誰が言い出したかわすれたが、次回から「飲みながらやろう」という事に。
    • 第2章「コンフィグレーション管理」
      • バージョンコントロール(VC
      • 依存関係管理
      • Configurationは「環境の差異」
    • 第3章「CI

 3回目から会場を弊社カフェテリアの一角に移す

      • よしおかさん、ビールとつまみを持ち込み
      • 正直半信半疑
      • 3章の発表者が社外のOpen SourceプロジェクトでJenkinsを使っているというデモを実施。
      • よしおかさん、古い日記を引用し、oracleとかDECとかの話をしだす。
      • Nativeな参加者がいるので、例えばdisciplineって何?という質問も。
    • 第4章「Implementing a Testing Strategy」
      • 4象限によるテストの分類
    • 第5章からの第2部は「deployment pipeline」
      • Continuous Deliveryの核となる概念の説明
      • 基本は、プレゼンターの資料ベースのディスカッション
      • よしおかさんの日記、よた話参考
      • Ch5. "Anatomy of the Deployment Pileline"
    • 12月に入ると、スケジュールが合わなくなってきた
      • 参加者少なかったり、延期したり
    • そんな中、Jenkins実践入門の佐藤さんに、弊社でセミナー実施頂く事に
      • 勉強会実践メンバーが参加
    • 現在、12章(2/20実施)まで終わり、残すところあと3章。
      • 前々回、突然TVの取材が来た。
    • まだ、アサインメントが決まっていない章もあるが、メンバーからの期待は少なくないようで、
      • 次なにやるか決めたい
      • 社外秘の内容はあまり決めてないので、社外に展開してみては?
  • 弊社にて勉強会を開催することをご提案致します。
    • Q1.勉強会に賛同される方、どれ位いらっしゃますか?
      • ほぼ全員が挙手。
    • Q2.勉強会の進め方について
      • A.実践事例発表会
      • B.書籍を1章ずつ読み進める読書会
      • C.プロダクトに関する研究会
      • 回答はどれも同じ程度。

mixi における Jenkins の運用について

f:id:absj31:20120221200528j:image

  • Jenkinsマスターが3台存在
    • バラバラに動いている
      • 1.iOS向けのもの
        • build and Create .plist
      • 2.Android
        • Build and Test Integratged with Gerrit
        • 非常にモダンな仕組み
      • 3.mixi
  • Perl shop. 主にmixiではperlを使っている
    • 今も使っている人は少ない
    • Execute Shell(スクリプト実行)
    • Test Results
    • Code Metrics
      • Perl::Metrics::Lite
    • Code Coverage
      • Devel::Cover::Report::Clover
  • XMLを上手く使えば、ちゃんとJenkinsの連携がうまくできる

f:id:absj31:20120221201253j:image

      • ikachan
    • テスト実行時間:15〜30分。

f:id:absj31:20120221201425j:image

    • 1."recent" job
      • コミットした部分に関するテストだけを実行
      • ファイルシステム上で簡単な対応が取れるファイル構成にしている
      • コミット直後にテスト実行させるものがこれ
    • 2. "try"job
      • ブランチのテストを行う
      • 指定された場所を実行
      • 持っていないかもしれない環境等のテスト(ブラウザ別等)
    • 3. The Free (????←一部失念。後程対応します)

LT:Smart Jenkins on Ruby

  • コ 文婷さん、胡 益さん@東大笹田研

f:id:absj31:20120221202732j:image

  • Smart Jenkins
    • 夜に出来るだけテストを実行したかった。
    • 電力の問題で。
    • スレーブマシンで実行できる時間をOK時間、それ以外をNG時間たい。設定可能
    • NG時間帯に入った場合、シャットダウン
  • Smart Jenkins on Ruby
  • 機能拡張検討中。

ビアバッシュ

LT終了後は、そのままビアバッシュへ突入。時間にすると約30分程度でしょうか。参加者同士で懇親しておりました。

会も終わりに近付いた頃、会の冒頭で述べていた「書籍プレゼント」のコーナーへ。

f:id:absj31:20120221210344j:image:w800

そしたら何と、私の名前が呼ばれるではありませんか!(; ̄Д ̄) 運良く、書籍「Jenkins」日本語翻訳版を頂く事が出来ました♪

今回の勉強会には川口さん・訳者の玉川竜司さんの御二方がいらっしゃってましたので、又とない機会なのでサインも頂いちゃいました♪ 川口さん、玉川さん、ありがとうございました!

頂いたサインに会の冒頭で配布されていたJenkinsステッカーを併せてパチリしたものをUPしておきます。

f:id:absj31:20120221234327j:image:w800

f:id:absj31:20120221234353j:image:w800

これは心して読み進め・実践せねば!(`・ω・´) クワッ

そしてやっぱり、Jenkinsをフル活用出来るような状況を作り出したいものですね。職場も自宅でも。


その他関連: