昨日(1月13日)2015 新春 JJUG 特別企画 Jenkins まつりに行ってきた!
その内容をメモメモ
■Javaユーザーに送るJenkins25のTips
・Jenkins実践入門
・織田翔 Java,Git
コレがなければ始まらない。インストール
1.Gitプラグイン
・validated Mergeプラグイン
2.Githubプラグイン
・webhookでプッシュで
15時間で分かるGIT
3.Gradleプラグイン
ありがちな、あれを
4.CheckStyleプラグイン
5.Findbugsプラグイン
6.TaskScannerプラグイン
ジョブの設定
7.JobConfigHistoryプラグイン
コンソールを見やすく
8.Timestamper
Jenkinsを自分色に染める
9.エモーショナルJenkinsプラグイン
Chuck Norrisも
10.Green Ballsプラグイン
11.Nested Viewプラグイン
何もいれなくても
12.JUintのテストレポート
13.マルチ構成プロジェクト
14.パンくずメニューでショートカット
15.コンソールにジャン追う
16.safeRestart
CIを制す
17.Deployプラグイン
18.Xvfbプラグイン
19.Build Pipeline viewプラグイン
20.Promoted Buildsプラグイン
21.Workflowプラグイン Groovy DSLでJobをかける
CIを制したら
22.slackプラグイン Chat ops
23.E-mail-extプラグイン
24.Disk Usageプラグイン
25.もにたりんぐ
宣伝
・Jenkins実践入門:改訂作業中
■継続的インテグレーション(CI)から
継続的デリバリー(CD)へ
・自己紹介
・継続的インテグレーション(CI)→自動化
・継続的デリバリー(CD)
スナップショット、プロモーション
鉄板の本
・ツールの共有は難しい
開発:すぐにデプロイしたい
運用:手順、確信
・DevOps or NoOps
・「リリースとデプロイ」作業の例
・「リリースとデプロイ」作業でよくある課題
・CDを実現するIBM UrbanCode
継続的インテグレーション→自動化、JOB
継続的デリバリー→ターゲット環境
・プッシュボタン・デプロイメント
・リリース作業の自動化
用意なりリース手順の定義
・ドラッグ&ドロップによるビジュアルな定義
・プラグインの活用
・各環境のアプリケーション・リリース状況の確認
・品質ゲートの設定
・リリース承認プロセスの定義
・デモ
・JenkinsとUrbanCodeの違い
オープンソースか商用か
CIかCDか
→連携が可能
JenkinsにUrbanCodeプラグインを入れる
■Chef/Puppet+Jenkinsによる継続的デリバリー
川口さん
・会社の紹介 CloudBeans
エンタープライズ向けJenkinsソリューションの提供
アメリカ、ヨーロッパで
・背景
より広範なend-to-endの自動化の進展
すなわち継続的デリバリ
jenkins-ci.org運用上のニーズ
テスト環境がない
システム管理者が分散している
自分たちの提供することを自分たちで実践
・個々のサービスのコンテナ化
変更はJenkinsが管理
コントロールリポジトリ
サービスの定義:プロファイル
マシン定義:マニュフェスト
プルリクエスト→Jenkins→テスト
・どういうテスト
参照しているのが存在しているか
実際にデプロイしてみないとわからない→VAGRANT(べいぐらんと)
→EC2上に作っている
serverspecで検証
r10k+puppet enterprise
・ブランチが自動的にenvironment
・依存モジュールの解決とロード
環境別の差異を吸収するHiera(ひえら)
・ファイルの優先順位の設定:hiera.yaml
・実際のデータはYAMLファイルに
かぎ・秘密の取り扱いあつかい
hiera-eyamlパラメータの個別暗号化
eyaml:変換してくれる
ブランチと環境の関係
r10k デプロイはマージ、プッシュだけ→プルリクエストで
次の話題
継続的デリバリの課題
・デプロイは実際にはいつ起こったのか
chef/Puppetの実行は通常非同期
・このサーバで走っているのはどのビルドか?
スタックトレースからソースコードへの正確なマッピング
・ファイル指紋 md5suma.jar
・ファイル指紋の仕組み
自動化された各工程でじゃんじゃん指紋を記録
どのリビジョンが
どこでいつビルドされ
どこでいつテストされ
どこで、デプロイされたのか
イメージ:監視カメラ、自動改札
・Demo
実行結果をJenkinsにポスト
・継続的デリバリとファイルの追跡
いつなにがどこにデプロイされたのか
・Ops側の変更が最小限に
Chef カスタム・レポートハンドらとして自うっそう
Puppet 標準リポート形式をjenkinsにPOST
今後の予定
・更なるデータ化しか
・ファイルじゃないものの指紋
・jenkins-ci.orgの運用でもコレを
まとめ
・はじめのほうはGITHUB
・あとのほうはWiki
その内容をメモメモ
■Javaユーザーに送るJenkins25のTips
・Jenkins実践入門
・織田翔 Java,Git
コレがなければ始まらない。インストール
1.Gitプラグイン
・validated Mergeプラグイン
2.Githubプラグイン
・webhookでプッシュで
15時間で分かるGIT
3.Gradleプラグイン
ありがちな、あれを
4.CheckStyleプラグイン
5.Findbugsプラグイン
6.TaskScannerプラグイン
ジョブの設定
7.JobConfigHistoryプラグイン
コンソールを見やすく
8.Timestamper
Jenkinsを自分色に染める
9.エモーショナルJenkinsプラグイン
Chuck Norrisも
10.Green Ballsプラグイン
11.Nested Viewプラグイン
何もいれなくても
12.JUintのテストレポート
13.マルチ構成プロジェクト
14.パンくずメニューでショートカット
15.コンソールにジャン追う
16.safeRestart
CIを制す
17.Deployプラグイン
18.Xvfbプラグイン
19.Build Pipeline viewプラグイン
20.Promoted Buildsプラグイン
21.Workflowプラグイン Groovy DSLでJobをかける
CIを制したら
22.slackプラグイン Chat ops
23.E-mail-extプラグイン
24.Disk Usageプラグイン
25.もにたりんぐ
宣伝
・Jenkins実践入門:改訂作業中
■継続的インテグレーション(CI)から
継続的デリバリー(CD)へ
・自己紹介
・継続的インテグレーション(CI)→自動化
・継続的デリバリー(CD)
スナップショット、プロモーション
鉄板の本
・ツールの共有は難しい
開発:すぐにデプロイしたい
運用:手順、確信
・DevOps or NoOps
・「リリースとデプロイ」作業の例
・「リリースとデプロイ」作業でよくある課題
・CDを実現するIBM UrbanCode
継続的インテグレーション→自動化、JOB
継続的デリバリー→ターゲット環境
・プッシュボタン・デプロイメント
・リリース作業の自動化
用意なりリース手順の定義
・ドラッグ&ドロップによるビジュアルな定義
・プラグインの活用
・各環境のアプリケーション・リリース状況の確認
・品質ゲートの設定
・リリース承認プロセスの定義
・デモ
・JenkinsとUrbanCodeの違い
オープンソースか商用か
CIかCDか
→連携が可能
JenkinsにUrbanCodeプラグインを入れる
■Chef/Puppet+Jenkinsによる継続的デリバリー
川口さん
・会社の紹介 CloudBeans
エンタープライズ向けJenkinsソリューションの提供
アメリカ、ヨーロッパで
・背景
より広範なend-to-endの自動化の進展
すなわち継続的デリバリ
jenkins-ci.org運用上のニーズ
テスト環境がない
システム管理者が分散している
自分たちの提供することを自分たちで実践
・個々のサービスのコンテナ化
変更はJenkinsが管理
コントロールリポジトリ
サービスの定義:プロファイル
マシン定義:マニュフェスト
プルリクエスト→Jenkins→テスト
・どういうテスト
参照しているのが存在しているか
実際にデプロイしてみないとわからない→VAGRANT(べいぐらんと)
→EC2上に作っている
serverspecで検証
r10k+puppet enterprise
・ブランチが自動的にenvironment
・依存モジュールの解決とロード
環境別の差異を吸収するHiera(ひえら)
・ファイルの優先順位の設定:hiera.yaml
・実際のデータはYAMLファイルに
かぎ・秘密の取り扱いあつかい
hiera-eyamlパラメータの個別暗号化
eyaml:変換してくれる
ブランチと環境の関係
r10k デプロイはマージ、プッシュだけ→プルリクエストで
次の話題
継続的デリバリの課題
・デプロイは実際にはいつ起こったのか
chef/Puppetの実行は通常非同期
・このサーバで走っているのはどのビルドか?
スタックトレースからソースコードへの正確なマッピング
・ファイル指紋 md5suma.jar
・ファイル指紋の仕組み
自動化された各工程でじゃんじゃん指紋を記録
どのリビジョンが
どこでいつビルドされ
どこでいつテストされ
どこで、デプロイされたのか
イメージ:監視カメラ、自動改札
・Demo
実行結果をJenkinsにポスト
・継続的デリバリとファイルの追跡
いつなにがどこにデプロイされたのか
・Ops側の変更が最小限に
Chef カスタム・レポートハンドらとして自うっそう
Puppet 標準リポート形式をjenkinsにPOST
今後の予定
・更なるデータ化しか
・ファイルじゃないものの指紋
・jenkins-ci.orgの運用でもコレを
まとめ
・はじめのほうはGITHUB
・あとのほうはWiki