「Jenkins ユーザ・カンファレンス 2015 東京」に行ってきました
「Jenkins ユーザ・カンファレンス 2015 東京」に行ってきました。
» Jenkins ユーザ・カンファレンス 2015 東京 日本Jenkinsユーザ会
開催概要
- 2015/01/11(日)12:30-18:00
- 法政大学@市ヶ谷
- 主催
- 参加者数 約700人
- togetter
会場雰囲気
学んだことと所感
- dockerという単語が多く出てきて、テスト時の環境をコンテナとして作成するのが流行りらしい。
- 例
- dockerは触っとかないといけない雰囲気( ´・ω・`;)
- 各ジョブの整理ができていなかったので、さっそくworkflow-pluginを使ってみる
セッションメモと雑記
基調講演 Jenkinsプロジェクトの現状とワークフロー
- Jenkinsの生みの親、川口さんの基調講演
- 最近のJenkins事情
- DotCI
- UI周りを更新した。
- Jenkinsを最新にすると分かる。
- dockerにJenkinsのサーバイメージが登録されている。
- workflow-plugin
- 最近、力を入れているプラグイン
- Workflow plugin is 1.0 | Jenkins CI
- 設定をGUIではなく、プログラミング的に書けるようになっている。~Groovy
- いままでは、1つの処理をCIするようにできるような思想になっている。
- 問題点
- 各フェーズのジョブが存在する。
- 似たようなジョブが存在する。
- 問題点
- Jenkins 実行コンソールに承認ボタンがでたりする
- 人間の判断結果を元に分岐できるようになる。
はてなにおける継続的デプロイメントの現状とDockerの導入
- はてなの人
- サービスごとにJenkinsを用意している。
- 関係者が少ないほうが、メンテナンスしやすい。
- はてなダイアリーがメンテナンスできなくなったので、はてなブログを立ち上げた。
- 本番に近い環境でテストするべき。
- Jenkinsの設定を複雑にしない。
- メンテンスの属人性をなくす。
- 原則、設定はスクリプトファイルで管理する。例:script/jenkins/xx.sh
- チャットツールは、Slack
- タスク管理は、Trello
- Gitのブランチ名がついたホスト名の環境を用意した。dockerで実現した。
- テストデータは、別途DBサーバを立てており、全てのコンテナが参照している。
- 変更後も動作するスキーマ変更しか認めていない。
- あとで調べる。
- Mackerel:サーバ管理サービス
- Android Emulator Plugin
クックパッドにおけるJenkinsの活用
- おむきんす(Jenkinsに別名付けた?)
- git clone -> docker build -> docker rm -> docker run -> テスト -> レジストリ登録
- Androidはエミュレータが遅いので、実機(USB接続)でテストするようにしている。
- 開発者は、10分でイライラし20分でキレる。
- CIで守るべき規則
- 意図しない変更を予防できる。
- ターンアラウンドを短くする。
- 分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ
- すぐに失敗を伝える。
- chatに「だれがどこにどう間違っているか」と通知する。
- 不具合を放置しない。
- コードの共有
- バグ修正も皆ができるように。
- 割れ窓理論
- 再現可能で自動化されていること
- リソースや情報を集約できる。
- CIの成功率などの結果
- 意図しない変更を予防できる。
- CIの価値を守る行動をすべし。
- ふつうにしている
- やるべきことをやる
- 常にそうあるようにする
「Infrastructure as a CodeにおけるJenkinsの役割」 ~環境構築も継続的インテグレーションを行う時代です~
- Chef化したら、問題が発生した。
- コードが複雑、Chefだけで完結できない(外部サービスなど)。
- Chef serverが多くなった。
- 各構築フェーズを意識する
- OSセットアップ(keckstart) -> ミドルウェアセットアップ(Chef) -> アプリケーションセットアップ/デプロイ(Serf)
- もうひとつのレイヤーがあった。
- サービス連携のフェーズ
- Serverspecでテストする。
- LBにサーバを追加する。
- 失敗したら、本番への投入をしない。
- 受け入れテスト、LBへの追加
- サービス連携のフェーズ
- Chefの開発にdockerを使った。
- Jenkinsの冗長化した
- あとで調べる
- lsyncd
- Chef Zero
- Build Flow Plugin
- Build Graph:構築フローの視覚化できる
LT大会
- セキュリティテスト、パフォーマンステストについて
- 金融系でのJenkins活用事例
- Jenkinsとの連携ツールについて
- Jenkinsの3Dロゴについて
- 3Dロゴが提供されたので、そのイメージ遊んでみた。物理エンジン適用など。
- Jenkinsの使い方について
- Ciじゃない方のJenkins
- CIだけでなく、いろんなことができる。
Jenkins導入する本当の理由を考えてみた
- 聴講できていない(´・ω・`)