ao-log

インフラ系ITエンジニアのメモ帳です。

「第8回Jenkins勉強会」参加レポート

参加してきました。告知されていたページはこちら。
http://connpass.com/event/3660/

私は普段は Jenkins をほぼ使っておらず、自動化というキーワードについて興味があったので参加しました。参加してみて、Jenkins を開発されている方は凄くアツい人で、開発は勢いがあって、また Yahoo! 様の事例を聞くことで自動化する流れがどんどん浸透しているし、これからもっと普及するだろうなという空気を感じました。また、エンタープライズ版があることも初めて知り、大規模な組織での Jenkins の利用を促進する機能が多くあるなと感じました。なので、堅気な企業にも導入が広がっていくかもしれません。また、LT 発表などで Immutable Infrastructure のお話もあり、アジャイル開発の現場の Dev よりの人が行っているようなフロー、使っているツールを Ops 側、インフラ側にもあてはめていくような世の流れがあると感じました。Docker や Serverspec など様々なソフトウェアがありますが、こちらは黎明期といえそうですが進展が楽しみな分野です。

以下、私なりにまとめた内容になります。公式とは関係のない、私が個人で記録した内容になります。誤っている内容がありましたら申し訳ございません。

2013年Jenkinsの歩み

Jenkins の開発者、川口さんの発表。
初めに開発の盛んさや、インストレーションベースでの拡大について。1090 人がコミットしてくれ、一人当たり 20 のコミット、62 コミット/ day、Linux カーネルと比べても約半分と非常に盛ん。約 18万台で動いており、インストレーションベースで + 45 % と、Jenkins が結構コンピュータリソースを使っている状況で、勢いが凄すぎると感じる数値でした。

その後は、Jenkins の機能面やチューニングなど様々な角度での進化について。メモできたものを箇条書きすると以下の通りですが、個人的には Git Plugin の UI をすっきりさせたことのように、私のような初心者でも使いやすい配慮が嬉しく思いました。

  • サーブレットコンテナを Winstone → Jetty:// へ
  • Credentials Plugin により鍵管理を一元化できるようにした
  • Git Plugin は ver 2.0 で UI をすっきりさせたこと(Change Log Git Plugin - Jenkins - Jenkins Wiki
  • CloudBees が開発した Folders Plugin をフリーにし、このプラグインにより階層状にジョブを整理できる
  • 文藝的ビルド(Readme の内容を解釈してビルドしてくれる)
  • jar ファイルごとにスレーブにキャッシュして保存できるようにした
  • SSH フローコントロールに手を入れてマスター・スレーブ間の通信を高速化した

Jenkinsはじめました。 ~Yahoo! JapanのCI/CD~

Yahoo! Japan 内での CI/CD 化の取組み。広告配信用のサーバへの CI/CD に Jenkins を使用。規模や、プラグイン、デプロイに使用しているソフトは次の通りとのこと。

  • マスターが 3 台、スレーブがマスターごとに 10 台。
  • プラグインは Git Coverity、RunDeck など
  • デプロイは Fabric、Capistrano、Rundeck

パイプラインにして、コミット後は、コミット → コンポーネント → パッケージ → アセンブリして、スモークテスト、機能テスト、パフォーマンステスト、運用テストの順で流し、デプロイする流れ。現在は、1 クリックでのデプロイが実現し、一連の作業が 2 日から数時間で済むように、2 名 + Jenkins でできるようになったとのこと。

また、CI/CD の取り組みを組織に定着させるためのお話もありました。有志による活動から組織化し、そういった人たちの中からエバンジェリストが登場。管理者のサポートもあって CI、CD できるようになったとのことでした。ルールゆるめで挑戦してみることについても言及がありました。技術だけでなく、組織を変えるために行動する大切さも学ばさせていただきました。

Jenkinsエンタープライズについて

株式会社 SHIFT の玉川さんの発表。Jenkins Enterprise by CloudBees の紹介。
有償版の特徴としては、次のものがあるとのことです。

  • テクニカルサポートを受けられる
  • Enterprise 版独自のプラグインが使える
  • By CloudBees の強力な機能

テクニカルサポートは CloudBees と全く関係のないものまでサポートしてくれるそうで、このレベルのサポートはすごすぎると思いました。
プラグインは、大規模な開発、多種多様なチームでの運用を支えるものが提供されているとのことで、次のものが紹介されました。

  • 稼働率向上(High Availability Plugin、Folders Plugin、Template Plugin)
  • セキュリティ(Role Based Access Control Plugin、Secure Copy Plugin、Custom Update Center Plugin)
  • リソース最適化(Even Scheduler Plugin、VMware vCenter Auto-Scaling Plugin、Skip Next Build Plugin)

大きな会社で、様々な部署に使わせたい場合などに向いてそうですね。