プログラマ行進曲第二章

主にソフトウェア関連の技術をネタにした記事を執筆するためのブログ

第8回Jenkins勉強会に参加してきました #jenkinsstudy

一度もJenkinsをまともに試していないのに(から?)、Jenkinsの勉強会に参加してきました。

第8回Jenkins勉強会

継続的デリバリーだとか継続的インテグレーションだとか、いまやIT系(特にWeb系)では当たり前になっているというのに今まで手を付けていなかったので、始める言い訳としていいかなと思い、参加してみました。

以下、話を聞きながら適当にメモしたことを箇条書きにして備忘録代わりにします。適当なので内容的に間違っている可能性あるので、そこら辺はご了承の程を。

川口さん:「2013年Jenkinsの歩み」

  • 1090人のコミット人数
  • 平均1人20のコミット
  • 62コミット/day
  • プロジェクトとしてはかなり大きな方

  • カオスになっていたgitプラグイン

    • 2.0にするときに設定画面を簡素にした
      • 複雑さは奥に押し込めた
  • gitのブランチをプッシュしたらJenkinsが走るように出来るようになった
  • かなり内部のパフォーマンスを上げたんだな、という話しが続く

    • SSHフローコントロールのあたりをいじったり
  • OS Xの仮想化とかアツイ話しやで。

    • ZFSとか使った <- Sunが潰れてから初めて!
    • cloudbees.com/osxの話し
      • iPhoneアプリとか作っている人でOS Xのビルドしたい人とか試してみてほしいですね」

Yahoo!japan Jenkinsはじめました - Yahoo! JAPANのCI/CD

  • 「始めました!」という話しから「結構使ってきたよ」という話しに変更とのこと。
  • Yahoo!のプロモーション広告担当の人(らしい)
    • Yahooの石川真幸さん
  • Ops2名 + Jenkinsで運用

  • マスター3台、スレーブは各10台

  • デプロイ

  • 最初は有志の活動、後に組織化してエバンジェリストが出来る

  • 結果

    • Jenkinsのジョブから、1Clickでデプロイを実現
    • 運用体制2名での確立ができた
  • 課題とかトラブル事例

    1. JenkinsとGitHubエンタープライズの連携にSCMポーリング使っていた
      • GitHubエンターブライズに負荷集中!
      • そのため、Webhookに切り替える
    2. サーバを増やすときに稟議を通すのが大変
      • 仮想環境を有効活用しよう!
        • Jcloudsプラグイン
          • これを用いてOpenStackやCloudStackとかとJenkinsの連携を行う
        • 社内でOpenStackベースの社内PaaSと連携して、物理サーバ不要とした
        • ビルド終了で仮想サーバも自動削除
    3. その他細かい物
      • 細かいフロー(リリース、ジョブ数増加)
      • テストコードが不足していたりとか
      • もっと高度なデプロイに挑戦
        • 今注目されているBlueprint deployment(ここ自信なし)とかImmutable Infrastructureとか
  • まとめ

    • CI+CDを達成するために必要な2つのこと
      1. エバンジェリスト’s
        • 周囲にその大切さを伝え、巻き込んでいくことの重要性
      2. ルールや議論はほどほどで、まずはやってみること!
  • 質問

    1. (メモし忘れました)
    2. ボトムアップで始めたと言ったが、何年前から始めた?」
      • 途中入社のため詳細は把握してないが、少なくとも3-4年前から始まっている
    3. 「上手くいかないテストとは具体的にどういった所か?」
      • 単純にテストを書く習慣がないということに加えると、画面など主導で行わざると得ないところ
        • 今後Seleniumとか推し進めているところ
    4. 「社内PaaSにOpenStackを使うようになった経緯とその利点とかあるかどうか」
      • 元々社内PaaSがあったが、古くなっていて調査したところ、OpenStackが良さそうだという結論になったので採用した
      • 拡張しやすいので、社内のセキュリティルールに則した独自の仕様を盛り込むことができるのがいい

株式会社シフト 玉川さん:Jenkinsエンタープライズについて

注:だいたいここら辺から内容の理解も追いついていないので力尽きてメモが適当です!

  • 第三者検証をやっている会社の者

    • 基本的にマニュアルテストをやっている会社
      • 私は自動テストやCIの導入を仕事にしている
    • Cloudbeesとパートナー
    • Jenkinsに関するセミナーとかもしている
    • Jenkins Enterprise By Cloudbeesの販売代理店も担当している
      • Enterpriseにしかない独自のプラグインとかも使える
  • Jenkins Enterprise By Cloudbeesの特徴

    1. 豊富なプラグイン
      • 大きな軸
        • 稼働率向上
          • High AvailabilityとかJenkins Operations Center
          • Folders Plugin
            • ジョブをフォルダに入れて階層管理
          • Templates Plugin
        • 大規模開発向けのプラグイン
        • セキュリティ向上機能
          • Role-Base Access Controlo Plugin
          • Secure Copy Plugin
          • Custom Update Center Plugin
            • インストールするJenkinsのコアやプラグインのバージョンを社内で縛る機能
        • リソース最適化

LTの時間

メインのセッションが終わって休憩を挟んだ後LTの時間になりました。上の写真はその休憩中に配備されたお菓子や酒類の成れの果てです。

割とすぐに無くなってしまった…かのように見せかけて、人数が結構こなかったせいか、あまりが出そうだったので主催の人がどんどん取ってってくださーい(余っても処分に困るので)、といってましたね。

後すみません、お菓子食べるのに集中しててLTのメモするの忘れたため、LTに関しては全く記録がありません!話しは聞いていましたけどね!

参加してきた感想

これも箇条書きで適当に残しておきます。

  • かなりの人数の多さ

    • 普段参加している勉強会・コミュニティとは違う層の人が多い印象
    • スーツな姿の人も結構目立ったところが印象的
    • コミュニティが力だと言っていたが、確かにそうなんだろうと感じる
  • 最初の導入がJenkinsの2013年の現況と歴史みたいな話しだったので、初心者でも分かりやすくて良かった

    • こういうとっかかりがあると入りやすい、とか思ったりした。
  • 川口さんのライブコーディングがさらっと自然に出来ていたのが印象的

    • 「英語をタイプしながら日本語を喋るのは難しい」という発言が出てきていました
      • そうはいいながら結構スムーズに出来ていたので、講演慣れしてそうだなー、という印象を受けました

本当はもっと文章の体で記事を残そうかと思ったんですけど、メモから文章に書き直す間に時間が過ぎて記事を更新する意欲がなくなりそうだったので、適当でもいいから更新すること優先にしました。

とりあえず参加してみて良かったです。流石にそろそろJenkinsとか継続的インテグレーション関連のことも知らないといけないと思っていたので、とっかかりとして非常に良かったです。