2013/12/20にJenkin勉強会に参加させて頂いたので、その時のメモを残します。
発表を聞かせて頂いた方々、ありがとうございました。
概要
- 日時:12/20 (金) 19:00~21:00
- 会場:ヤフー株式会社 11F セミナールーム
- 参加枠:250名
発表テーマ
通常発表
- 川口さん:「2013年Jenkinsの歩み」
- ヤフー 石川さん:Jenkinsはじめました。 ~Yahoo! JapanのCI/CD~
- 株式会社シフト 玉川さん:Jenkinsエンタープライズについて
LT発表
- @akiko_pusu さん:『おひとりさま〜』の1年後。〜発表者のその後を語る〜
- @superbrothers さん:Jenkins with Docker
発表内容
1. 川口さん:「2013年Jenkinsの歩み」
コミュニティの活動報告
- 2004年に1人で始めたJenkin開発も今では1090人がコミッター
- 1090人が平均20のコミット
- 1日に平均で62のコミットがある
- コミット数はLinuxカーネルの約半分まで来た(Linuxカーネルが約5万コミット)
- GoogleやMicrosoftでもやってくれている
- 1年間でユーザー数は45%アップ
- Jenkinの計算資源として18万2千のスレーブが稼働
- 世界で250万のJobが動いている
大きく変わったところ
- 内部のエンジンが変わった
- Winstone→jetty://
- クレデンシャルプラグインを開発した
- それぞれのプラグインで認証情報を持つ必要がなくなった
- セキュリティの向上
- gitプラグインのバージョン2をリリースした
- バージョン1では、設定画面が複雑になり過ぎたのでシンプルにした
- バージョン1にある機能を使うことは出来る
- 文芸的ビルド機能の追加
- README.mdに記述した内容をJenkinsが認識してビルドを行う
- リポジトリURLを指定する
- ブランチが増えれば、増えたブランチのビルドも自動で行う
- システム資源を有効活用できるように改善
- SlaveとMasterのデータのやり取りを改善
その他
- ユーザー会の人がアジャイルアカデミーに参加してトレーニングを実施した
2. ヤフー 石川さん:Jenkinsはじめました。 ~Yahoo! JapanのCI/CD~
自己紹介
- 広告配信システムのCIを担当
- 2人+Jenkinsで広告配信システムを運用
運用構成
- 構成管理
- GitHubエンタープライズ
- Jenkins
- マスター3台
- スレイブをマスター1台につき10台
- Job数は約300
- Job実行時間は30秒〜1時間と様々
道のり
- 数名の有志によりボトムアップでスタート
- 管理職の理解や協力を得ながら進めた
- 1Clickでデプロイまで出来るようになった
- 2日かかっていた作業が数時間で出来るようになった
トラブル事例と課題
- SCMポーリングでサーバーの負荷が上がってた
- Webhookを有効活用する
- Polling must die!
- ただし、Webhookよりもポーリングの方が良い事もある
- slaveサーバーをたくさん用意できない
- Jcloudsプラグインを活用する
- vmwareと連携できる
- 社内のセキュリティポリシーを守るために一部改修した
- Jcloudsプラグインを活用する
- OpenStackベースの社内Paasと連携
- ビルド終了で仮想サーバー自動削除
- クラウド側のリソース節約
- その他
- Job増加問題
- テストコード書けていない
- もっと高度なデプロイに挑戦したい
- 全社的に普及出来ていない
大切な事2つ
- エバンジェリストの存在
- ボトムアップで進めるのは大変
- 周囲を巻き込んでやれる人が必要
- ルールや議論はほどほどに
- まずはやってみる事が重要
3. 株式会社シフト 玉川さん:Jenkinsエンタープライズについて
自己紹介
- 会社の事業はテストの代行
- 仕事は自動テストのなんでも屋
- Jenkinsの導入
- seliniumの導入
- 日本Jenkinsユーザー会に所属
Jenkins Enterprise by CloudBeesの紹介
- 特徴
- サポートが受けられる
- 独自のプラグインが使える
- 強力な機能がある
- Jenkinsをよく理解している人が開発した
- Jenkinsの8割は、 CloudBeesの人達が開発
- 独自プラグインの紹介&デモ
- 稼働率向上プラグイン
- 大規模開発向けのプラグイン
- Jenkins間で成果物がやり取りできるプラグイン
- セキュリティ向上プラグイン
- ユーザーに権限を柔軟に渡せるプラグイン
- リソース最適化プラグイン
- Jobの割当を最適化するプラグイン
- 無駄なビルドを行わないようにするプラグイン
4. @akiko_pusu さん:『おひとりさま〜』の1年後。〜発表者のその後を語る〜
1年で変わった事
- Jenkins以外のジョブ管理ツールが登場
私がJenkinsに期待する事
- 自動化のスタートアップ
- Jenkinsは導入しやすい
- やり方さえわかれば、後は何でやっても良い
5. @superbrothers さん:Jenkins with Docker
Dockerとは
- 高速にコンテナを立ち上げることができるツール
- 仮想マシンよりも軽量
JenkinとDockerの連携
- Jobの中で、Dockerを使ってコンテナの作成、削除まで行う
- クリーンな環境を一瞬で手に入れる事が出来る