SlideShare a Scribd company logo
1 of 75
©2013 CloudBees, Inc. All Rights Reserved 1©2013 CloudBees, Inc. All Rights Reserved
Jenkins ユーザーカンファレンス
東京 2015
川口耕介 / CTO, CloudBees, Inc.
kk@kohsuke.org / @kohsukekawa
©2013 CloudBees, Inc. All Rights Reserved 2
CloudBeesの紹介 cloudbees.com
• エンタープライズ向けJenkinsソリューション
の提供
• Jenkins Enterprise by CloudBees
• Jenkins Operations Center by CloudBees
• Jenkins OSS サポート
• エンタープライズ向けプラグイン
• OSS Jenkinsの開発、コミュニティでの活動
• トレーニング及びコンサルティング
http://softwaretest.jp/jenkins/
©2013 CloudBees, Inc. All Rights Reserved 3
CloudBees のお客様の紹介
金融 テクノロジ 小売 消費者向け 組み込み
©2013 CloudBees, Inc. All Rights Reserved 4
©2013 CloudBees, Inc. All Rights Reserved 5
インストール数
前年比
©2013 CloudBees, Inc. All Rights Reserved 6
スレーブの数
前年比
©2013 CloudBees, Inc. All Rights Reserved 7
ジョブの数
前年比
©2013 CloudBees, Inc. All Rights Reserved 8
Dockercon keynote
©2013 CloudBees, Inc. All Rights Reserved 9
Jenkins is everywhere
©2013 CloudBees, Inc. All Rights Reserved 10
©2013 CloudBees, Inc. All Rights Reserved 11
©2013 CloudBees, Inc. All Rights Reserved 12
Copyright Google
©2013 CloudBees, Inc. All Rights Reserved 13
Dockercon keynote
©2013 CloudBees, Inc. All Rights Reserved 14
Copyright HBO
©2013 CloudBees, Inc. All Rights Reserved 15
テレビにデビュー
©2013 CloudBees, Inc. All Rights Reserved 16
テレビにデビュー
©2013 CloudBees, Inc. All Rights Reserved 17
©2013 CloudBees, Inc. All Rights Reserved 18
http://en.wikipedia.org/wiki/File:Grand-Bazaar_Shop.jpg
©2013 CloudBees, Inc. All Rights Reserved 19
DotCi
©2013 CloudBees, Inc. All Rights Reserved 20
DotCiとは
• GitHub専用のJenkinsディストロ
• 1 リポジトリ = 1 ジョブ
• .ci.yamlによるバージョン管理された設定
• Docker
• バックエンドとしてMongoDB
©2013 CloudBees, Inc. All Rights Reserved 21
UI リフレッシュ
• 見た目の刷新
• レスポンシブ・デザイン
• 大きなボタンと入力フィールド
• カーブ
• 互換性を保ちつつ
©2013 CloudBees, Inc. All Rights Reserved 22
更なる UI/UX の改善
• ページ内容の動的な部分更新
–FOSDEM UI会議の積み残し課題
• やりたいこと色々
–GitHub等のリポジトリ一覧からジョブを作る
–プラグイン・パック
–設定画面の分解
–…
©2013 CloudBees, Inc. All Rights Reserved 23
©2013 CloudBees, Inc. All Rights Reserved 24
ファイル指紋によるファイルの追跡
©2013 CloudBees, Inc. All Rights Reserved 25
server
Chef/Puppet
source
repository
©2013 CloudBees, Inc. All Rights Reserved 26
継続的デリバリとファイルの追跡
• いつ、なにが、どこにデプロイされたのか?
• 追跡結果を基にした更なる自動化
– スモークテスト
– 該当ビルドに情報を表示
• 拡張可能
– 様々なツールのプロトコルに対応可能
©2013 CloudBees, Inc. All Rights Reserved 27
JenkinsとDocker
• DotCI
• Dockerプラグイン
– Dockerコンテナ内で使い捨てスレーブを走らせる
• Docker build publishプラグイン
– イメージのビルドとアップロード
©2013 CloudBees, Inc. All Rights Reserved 28
公式Dockerイメージ
docker run –p 8080:8080 jenkins
©2013 CloudBees, Inc. All Rights Reserved 29
受け入れテスト&ハーネス
• 実は古いプロジェクトの再生版v2
• 活発なアクティビティ
–コミット/週: 50+
–コミッタ: 22
–テスト: 365
–対象プラグイン: ~50
©2013 CloudBees, Inc. All Rights Reserved 30
X1K: スケーラビリティの改善
• マスター・スレーブ通信のNIO化
–何百ものスレーブを効率よく指揮
• 現在:JNLPスレーブでの利用
• 今後:CLI通信での利用
• Maven2ジョブの高速化
©2013 CloudBees, Inc. All Rights Reserved 31
©2013 CloudBees, Inc. All Rights Reserved 32
©2013 CloudBees, Inc. All Rights Reserved 33
ユースケース: 複雑な活動の指揮
• 多段階の継続的デプロイメント・パイプライン
• 一時サーバを活用したビルド
• 青緑デプロイメント + 自動コミット・アボート
• テストの並列実行と自動的なsharding
• literateプラグインと連携したブランチ毎の自動
ジョブ生成
©2013 CloudBees, Inc. All Rights Reserved 34
サポートしたい処理の特徴
• 多段の処理を含む複雑なパイプライン
• ループや並列処理を含む非直線的な処理
• 再起動をまたぐ長時間ビルドのサポート
• 中断、確認、分岐などの人間との対話
• 一過性のエラーなどに便利な途中からの再開
• ジョブ間・組織間の処理の再利用
• 一箇所で処理を簡潔に記述
©2013 CloudBees, Inc. All Rights Reserved 35
©2013 CloudBees, Inc. All Rights Reserved 36
©2013 CloudBees, Inc. All Rights Reserved 37
©2013 CloudBees, Inc. All Rights Reserved 38
©2013 CloudBees, Inc. All Rights Reserved 39
node(“linux”) {
git ‘https://github.com/foo/bar.git’
sh “mvn install”
parallel(
{ sh “./regression-test.sh” },
{ sh “./performance-test.sh” }
)
…
}
©2013 CloudBees, Inc. All Rights Reserved 40
Build #153Build #153
©2013 CloudBees, Inc. All Rights Reserved 41
foo()
void foo() {
try {
sh ‘sleep 1h’
} finally {
sh ‘rm -rf *.tmp’
}
}
©2013 CloudBees, Inc. All Rights Reserved 42
Groovyのフローの中断と再開
• 「継続渡し方式(CPS)」への変換
• カスタムのGroovyインタプリタで実行
• プログラムの状態をセーフポイントで永続化
• Jenkins起動後の状態の復元
– Pickle: 素直に永続化できないオブジェクトを処理す
る拡張ポイント
©2013 CloudBees, Inc. All Rights Reserved 43
ビルドの中断と再開
• It “just works”
• ローカル変数やコールスタックも復元
• シェルなど外部プロセスも生き延びる
– スレーブの再接続
• Jenkins Enterprise: チェックポイントから再開
– 最初からやり直すのではなく途中からやり直す
– 元のビルドからアーティファクトなどを再利用
©2013 CloudBees, Inc. All Rights Reserved 44
©2013 CloudBees, Inc. All Rights Reserved 45
©2013 CloudBees, Inc. All Rights Reserved 46
©2013 CloudBees, Inc. All Rights Reserved 47
©2013 CloudBees, Inc. All Rights Reserved 48
©2013 CloudBees, Inc. All Rights Reserved 49
©2013 CloudBees, Inc. All Rights Reserved 50
©2013 CloudBees, Inc. All Rights Reserved 51
©2013 CloudBees, Inc. All Rights Reserved 52
現状
• 難しい基盤のところは大体完成
• ユーザ・コミッタ募集中
• 現在 version 1.1
• LTSでも動きます
©2013 CloudBees, Inc. All Rights Reserved 53
まとめ
• 複雑な活動を簡潔に指揮・記述
• 一つのジョブで必要な全てを記述
• GroovyによるDSL
• JVMのロスや再起動に耐えるデザイン
• 拡張性
• github.com/jenkinsci/workflow-plugin
©2013 CloudBees, Inc. All Rights Reserved 54
ワークフロー
• github.com/jenkinsci/workflow-plugin
• 幾つもの新しい拡張ポイント
• Jenkins Enterpriseへの機能追加も予定してま
す
©2013 CloudBees, Inc. All Rights Reserved 55
©2013 CloudBees, Inc. All Rights Reserved 56
LTSのトレインモデルへの変更
メインリリース系列
LTSリリース系列
ベースラインを選ぶ
1.554.21.554.1 1.554.3
4週間毎のLTSリリース
©2013 CloudBees, Inc. All Rights Reserved 57
LTSのトレインモデルへの変更
• アップグレードを事前計画するのが簡単
• LTSテストプロセスへの参加を容易に
©2013 CloudBees, Inc. All Rights Reserved 58
受け入れテスト&ハーネス
• 実は古いプロジェクトの再生版v2
• 活発なアクティビティ
–コミット/週: 50+
–コミッタ: 22
–テスト: 365
–対象プラグイン: ~50
©2013 CloudBees, Inc. All Rights Reserved 59
受け入れテスト&ハーネス
©2013 CloudBees, Inc. All Rights Reserved 60
Class of problems we hope to catch
• Browser-specific issues
• Container-specific issues
• OS-specific issues
• Packaging-specific issues
• Problematic plugin combinations
• Plugin with newer versions of cores
©2013 CloudBees, Inc. All Rights Reserved 61
This is for you, too
I want to make sure a new
version of Jenkins works in
my environment with my set
of plugins.
©2013 CloudBees, Inc. All Rights Reserved 62
Reusability
• Make your tests our tests
• Amass a bigger pool of tests
©2013 CloudBees, Inc. All Rights Reserved 63
Separately reusable pieces
Jenkins
Controller
Page Objects
JENKINS
HOME seeder
Machine
Provisioner
Docker
fixtures
Cucumber
integration
Geb + Spock Vagrant
JUT Process
pool
©2013 CloudBees, Inc. All Rights Reserved 64
More work ahead
• More regular executions
–More target platforms
–More browsers
• Test stability improvements
• Expand to non-functional tests
©2013 CloudBees, Inc. All Rights Reserved 65
X1K
©2013 CloudBees, Inc. All Rights Reserved 66
More efficient master/slave communication
• NIO in remoting
–use a few threads to manage 100s of
slaves
• JNLP today, coming to CLI soon
• Maven2 jobs are a lot faster
©2013 CloudBees, Inc. All Rights Reserved 67
Speaking of JNLP slaves…
©2013 CloudBees, Inc. All Rights Reserved 68
Speaking of JNLP slaves…
©2013 CloudBees, Inc. All Rights Reserved 69
http://www.flickr.com/photos/acmace/4410650624/
©2013 CloudBees, Inc. All Rights Reserved 70
“Eat our own dogfood” approach
• Continuous delivery pipeline for
our own infra
• Shout out to Puppet Labs for their
help
©2013 CloudBees, Inc. All Rights Reserved 71
Infra Summary
• It’s all out there
–github.com/jenkins-infra/jenkins-infra
• Come join the infra team
–Work on cutting-edge stuff & brag about it
elsewhere
©2013 CloudBees, Inc. All Rights Reserved 72
©2013 CloudBees, Inc. All Rights Reserved 73
©2013 CloudBees, Inc. All Rights Reserved 74
Conclusion
• So many exciting things going on in
the project
• Let’s build this together
©2013 CloudBees, Inc. All Rights Reserved 75
Ops側の変更は最小に
• Chef
– カスタム・レポートハンドラとして実装
• Puppet
– 標準リポート形式をJenkinsにPOSTするだけ
• 求むフィードバック
– データをJenkinsに送るベストな方法

More Related Content

What's hot

20160421 react勉強会
20160421 react勉強会20160421 react勉強会
20160421 react勉強会Naoki Kurosawa
 
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介decode2016
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリde:code 2017
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Takashi Kanai
 
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたNginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたtoshi_pp
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsYoshio Terada
 
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...さくらインターネット株式会社
 
Jenkins x Kubernetesが簡単だと思ったら大変だった話
Jenkins x Kubernetesが簡単だと思ったら大変だった話Jenkins x Kubernetesが簡単だと思ったら大変だった話
Jenkins x Kubernetesが簡単だと思ったら大変だった話Masaki Yamamoto
 
Docker国内外本番環境サービス事例のご紹介
Docker国内外本番環境サービス事例のご紹介Docker国内外本番環境サービス事例のご紹介
Docker国内外本番環境サービス事例のご紹介ThinkIT_impress
 
IBM Log Analysis with LogDNAを評価した話
 IBM Log Analysis with LogDNAを評価した話 IBM Log Analysis with LogDNAを評価した話
IBM Log Analysis with LogDNAを評価した話Daisuke Hiraoka
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話JustSystems Corporation
 
Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介Hiroki Endo
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタTakashi Kanai
 
Kubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VMKubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VMMasanori Nara
 
Virtual Kubelet and Virtual Node
Virtual Kubelet and Virtual NodeVirtual Kubelet and Virtual Node
Virtual Kubelet and Virtual NodeYoshio Terada
 
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方Akihiro Kitada
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2Takao Tetsuro
 

What's hot (20)

20160421 react勉強会
20160421 react勉強会20160421 react勉強会
20160421 react勉強会
 
Amazon ECSとDevOps
Amazon ECSとDevOpsAmazon ECSとDevOps
Amazon ECSとDevOps
 
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!
 
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたNginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
 
Fcp
FcpFcp
Fcp
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
 
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
 
Jenkins x Kubernetesが簡単だと思ったら大変だった話
Jenkins x Kubernetesが簡単だと思ったら大変だった話Jenkins x Kubernetesが簡単だと思ったら大変だった話
Jenkins x Kubernetesが簡単だと思ったら大変だった話
 
Docker国内外本番環境サービス事例のご紹介
Docker国内外本番環境サービス事例のご紹介Docker国内外本番環境サービス事例のご紹介
Docker国内外本番環境サービス事例のご紹介
 
ProjectAtomic-and-geard
ProjectAtomic-and-geardProjectAtomic-and-geard
ProjectAtomic-and-geard
 
IBM Log Analysis with LogDNAを評価した話
 IBM Log Analysis with LogDNAを評価した話 IBM Log Analysis with LogDNAを評価した話
IBM Log Analysis with LogDNAを評価した話
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
 
Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタ
 
Kubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VMKubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VM
 
Virtual Kubelet and Virtual Node
Virtual Kubelet and Virtual NodeVirtual Kubelet and Virtual Node
Virtual Kubelet and Virtual Node
 
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2
 

Viewers also liked

はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテストJenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテストHiroyuki Tanaka
 
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendlyTatsuya Ishikawa
 
Windowsでの自動化の手段
Windowsでの自動化の手段Windowsでの自動化の手段
Windowsでの自動化の手段Hidari Ikw
 
Workflow, container, and beyond
Workflow, container, and beyondWorkflow, container, and beyond
Workflow, container, and beyondKohsuke Kawaguchi
 
コードの互換性と進化の両立
コードの互換性と進化の両立コードの互換性と進化の両立
コードの互換性と進化の両立Kohsuke Kawaguchi
 
JavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build EnvironmentJavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build EnvironmentKohsuke Kawaguchi
 
ゲーム向けマネジメントツール 「Hansoft」の概要と コンシューマ開発で1年間 運用した事例
ゲーム向けマネジメントツール「Hansoft」の概要とコンシューマ開発で1年間運用した事例ゲーム向けマネジメントツール「Hansoft」の概要とコンシューマ開発で1年間運用した事例
ゲーム向けマネジメントツール 「Hansoft」の概要と コンシューマ開発で1年間 運用した事例Hiroyuki Tanaka
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでRyo Nakamaru
 
強化学習その4
強化学習その4強化学習その4
強化学習その4nishio
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンドYUKI Kaoru
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフローadd20
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみたKazuto Kusama
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜Takashi Uemura
 
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-Jumpei Miyata
 

Viewers also liked (20)

はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテストJenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
 
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly
 
Windowsでの自動化の手段
Windowsでの自動化の手段Windowsでの自動化の手段
Windowsでの自動化の手段
 
Workflow, container, and beyond
Workflow, container, and beyondWorkflow, container, and beyond
Workflow, container, and beyond
 
Prosym2012
Prosym2012Prosym2012
Prosym2012
 
コードの互換性と進化の両立
コードの互換性と進化の両立コードの互換性と進化の両立
コードの互換性と進化の両立
 
JavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build EnvironmentJavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build Environment
 
ゲーム向けマネジメントツール 「Hansoft」の概要と コンシューマ開発で1年間 運用した事例
ゲーム向けマネジメントツール「Hansoft」の概要とコンシューマ開発で1年間運用した事例ゲーム向けマネジメントツール「Hansoft」の概要とコンシューマ開発で1年間運用した事例
ゲーム向けマネジメントツール 「Hansoft」の概要と コンシューマ開発で1年間 運用した事例
 
Current state of Jenkins
Current state of JenkinsCurrent state of Jenkins
Current state of Jenkins
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
 
強化学習その4
強化学習その4強化学習その4
強化学習その4
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンド
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみた
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
 
jenkinsで遊ぶ
jenkinsで遊ぶjenkinsで遊ぶ
jenkinsで遊ぶ
 
Effective ES6
Effective ES6Effective ES6
Effective ES6
 

Similar to Jenkins User Conference 東京 2015

Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)Kohsuke Kawaguchi
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkinsKohsuke Kawaguchi
 
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...オラクルエンジニア通信
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門Tsukasa Kato
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門Hori Tasuku
 
ここ最近のJenkins新機能
ここ最近のJenkins新機能ここ最近のJenkins新機能
ここ最近のJenkins新機能Kohsuke Kawaguchi
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会samemoon
 
20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS Azure20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS AzureIssei Hiraoka
 
Introduction to Magnum (JP)
Introduction to Magnum (JP)Introduction to Magnum (JP)
Introduction to Magnum (JP)Motohiro OTSUKA
 
Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月Emma Haruka Iwao
 
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング #cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング Cloudera Japan
 
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達softlayerjp
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewKeiji Kamebuchi
 
Docker Hello World
Docker Hello WorldDocker Hello World
Docker Hello WorldTakao Fukui
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao
 
DevOps on Azure Kubernetes
DevOps on Azure KubernetesDevOps on Azure Kubernetes
DevOps on Azure KubernetesIssei Hiraoka
 
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondockerMicrosoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondockerTsukasa Kato
 

Similar to Jenkins User Conference 東京 2015 (20)

Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
 
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...
[Modern Cloud Day Tokyo 2019] KubeConに登壇したCloud Native Labsのエンジニアが、初学者にも分かりやす...
 
Dev@cloudの実装
Dev@cloudの実装Dev@cloudの実装
Dev@cloudの実装
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
 
ここ最近のJenkins新機能
ここ最近のJenkins新機能ここ最近のJenkins新機能
ここ最近のJenkins新機能
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会
 
20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS Azure20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS Azure
 
ACI Kubernetes Integration
ACI Kubernetes IntegrationACI Kubernetes Integration
ACI Kubernetes Integration
 
Introduction to Magnum (JP)
Introduction to Magnum (JP)Introduction to Magnum (JP)
Introduction to Magnum (JP)
 
Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月
 
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング #cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
 
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - Overview
 
Docker Hello World
Docker Hello WorldDocker Hello World
Docker Hello World
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
 
DevOps on Azure Kubernetes
DevOps on Azure KubernetesDevOps on Azure Kubernetes
DevOps on Azure Kubernetes
 
第10回しゃちほこオラクル倶楽部
第10回しゃちほこオラクル倶楽部第10回しゃちほこオラクル倶楽部
第10回しゃちほこオラクル倶楽部
 
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondockerMicrosoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondocker
 

More from Kohsuke Kawaguchi

On sharing ideas & sharing code
On sharing ideas & sharing codeOn sharing ideas & sharing code
On sharing ideas & sharing codeKohsuke Kawaguchi
 
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and moreJenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and moreKohsuke Kawaguchi
 
Jenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: KeynoteJenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: KeynoteKohsuke Kawaguchi
 
How we made jenkins community
How we made jenkins communityHow we made jenkins community
How we made jenkins communityKohsuke Kawaguchi
 
Large scale automation with jenkins
Large scale automation with jenkinsLarge scale automation with jenkins
Large scale automation with jenkinsKohsuke Kawaguchi
 
Jenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San FranciscoJenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San FranciscoKohsuke Kawaguchi
 
Jenkins user conference 東京
Jenkins user conference 東京Jenkins user conference 東京
Jenkins user conference 東京Kohsuke Kawaguchi
 
Creating a Developer Community
Creating a Developer CommunityCreating a Developer Community
Creating a Developer CommunityKohsuke Kawaguchi
 
Jenkins user conference 2011
Jenkins user conference 2011Jenkins user conference 2011
Jenkins user conference 2011Kohsuke Kawaguchi
 
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発Kohsuke Kawaguchi
 
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」Kohsuke Kawaguchi
 

More from Kohsuke Kawaguchi (15)

On sharing ideas & sharing code
On sharing ideas & sharing codeOn sharing ideas & sharing code
On sharing ideas & sharing code
 
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and moreJenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
 
Jenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: KeynoteJenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: Keynote
 
Jenkins State of union 2013
Jenkins State of union 2013Jenkins State of union 2013
Jenkins State of union 2013
 
How we made jenkins community
How we made jenkins communityHow we made jenkins community
How we made jenkins community
 
Large scale automation with jenkins
Large scale automation with jenkinsLarge scale automation with jenkins
Large scale automation with jenkins
 
Jenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San FranciscoJenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San Francisco
 
Jenkins user conference 東京
Jenkins user conference 東京Jenkins user conference 東京
Jenkins user conference 東京
 
Creating a Developer Community
Creating a Developer CommunityCreating a Developer Community
Creating a Developer Community
 
Jenkins user conference 2011
Jenkins user conference 2011Jenkins user conference 2011
Jenkins user conference 2011
 
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
 
Jenkins勉強会第二回
Jenkins勉強会第二回Jenkins勉強会第二回
Jenkins勉強会第二回
 
Jenkins と groovy
Jenkins と groovyJenkins と groovy
Jenkins と groovy
 
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」
 
Hudson (JJUG CCCにて)
Hudson (JJUG CCCにて)Hudson (JJUG CCCにて)
Hudson (JJUG CCCにて)
 

Recently uploaded

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (9)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 

Jenkins User Conference 東京 2015

  • 1. ©2013 CloudBees, Inc. All Rights Reserved 1©2013 CloudBees, Inc. All Rights Reserved Jenkins ユーザーカンファレンス 東京 2015 川口耕介 / CTO, CloudBees, Inc. kk@kohsuke.org / @kohsukekawa
  • 2. ©2013 CloudBees, Inc. All Rights Reserved 2 CloudBeesの紹介 cloudbees.com • エンタープライズ向けJenkinsソリューション の提供 • Jenkins Enterprise by CloudBees • Jenkins Operations Center by CloudBees • Jenkins OSS サポート • エンタープライズ向けプラグイン • OSS Jenkinsの開発、コミュニティでの活動 • トレーニング及びコンサルティング http://softwaretest.jp/jenkins/
  • 3. ©2013 CloudBees, Inc. All Rights Reserved 3 CloudBees のお客様の紹介 金融 テクノロジ 小売 消費者向け 組み込み
  • 4. ©2013 CloudBees, Inc. All Rights Reserved 4
  • 5. ©2013 CloudBees, Inc. All Rights Reserved 5 インストール数 前年比
  • 6. ©2013 CloudBees, Inc. All Rights Reserved 6 スレーブの数 前年比
  • 7. ©2013 CloudBees, Inc. All Rights Reserved 7 ジョブの数 前年比
  • 8. ©2013 CloudBees, Inc. All Rights Reserved 8 Dockercon keynote
  • 9. ©2013 CloudBees, Inc. All Rights Reserved 9 Jenkins is everywhere
  • 10. ©2013 CloudBees, Inc. All Rights Reserved 10
  • 11. ©2013 CloudBees, Inc. All Rights Reserved 11
  • 12. ©2013 CloudBees, Inc. All Rights Reserved 12 Copyright Google
  • 13. ©2013 CloudBees, Inc. All Rights Reserved 13 Dockercon keynote
  • 14. ©2013 CloudBees, Inc. All Rights Reserved 14 Copyright HBO
  • 15. ©2013 CloudBees, Inc. All Rights Reserved 15 テレビにデビュー
  • 16. ©2013 CloudBees, Inc. All Rights Reserved 16 テレビにデビュー
  • 17. ©2013 CloudBees, Inc. All Rights Reserved 17
  • 18. ©2013 CloudBees, Inc. All Rights Reserved 18 http://en.wikipedia.org/wiki/File:Grand-Bazaar_Shop.jpg
  • 19. ©2013 CloudBees, Inc. All Rights Reserved 19 DotCi
  • 20. ©2013 CloudBees, Inc. All Rights Reserved 20 DotCiとは • GitHub専用のJenkinsディストロ • 1 リポジトリ = 1 ジョブ • .ci.yamlによるバージョン管理された設定 • Docker • バックエンドとしてMongoDB
  • 21. ©2013 CloudBees, Inc. All Rights Reserved 21 UI リフレッシュ • 見た目の刷新 • レスポンシブ・デザイン • 大きなボタンと入力フィールド • カーブ • 互換性を保ちつつ
  • 22. ©2013 CloudBees, Inc. All Rights Reserved 22 更なる UI/UX の改善 • ページ内容の動的な部分更新 –FOSDEM UI会議の積み残し課題 • やりたいこと色々 –GitHub等のリポジトリ一覧からジョブを作る –プラグイン・パック –設定画面の分解 –…
  • 23. ©2013 CloudBees, Inc. All Rights Reserved 23
  • 24. ©2013 CloudBees, Inc. All Rights Reserved 24 ファイル指紋によるファイルの追跡
  • 25. ©2013 CloudBees, Inc. All Rights Reserved 25 server Chef/Puppet source repository
  • 26. ©2013 CloudBees, Inc. All Rights Reserved 26 継続的デリバリとファイルの追跡 • いつ、なにが、どこにデプロイされたのか? • 追跡結果を基にした更なる自動化 – スモークテスト – 該当ビルドに情報を表示 • 拡張可能 – 様々なツールのプロトコルに対応可能
  • 27. ©2013 CloudBees, Inc. All Rights Reserved 27 JenkinsとDocker • DotCI • Dockerプラグイン – Dockerコンテナ内で使い捨てスレーブを走らせる • Docker build publishプラグイン – イメージのビルドとアップロード
  • 28. ©2013 CloudBees, Inc. All Rights Reserved 28 公式Dockerイメージ docker run –p 8080:8080 jenkins
  • 29. ©2013 CloudBees, Inc. All Rights Reserved 29 受け入れテスト&ハーネス • 実は古いプロジェクトの再生版v2 • 活発なアクティビティ –コミット/週: 50+ –コミッタ: 22 –テスト: 365 –対象プラグイン: ~50
  • 30. ©2013 CloudBees, Inc. All Rights Reserved 30 X1K: スケーラビリティの改善 • マスター・スレーブ通信のNIO化 –何百ものスレーブを効率よく指揮 • 現在:JNLPスレーブでの利用 • 今後:CLI通信での利用 • Maven2ジョブの高速化
  • 31. ©2013 CloudBees, Inc. All Rights Reserved 31
  • 32. ©2013 CloudBees, Inc. All Rights Reserved 32
  • 33. ©2013 CloudBees, Inc. All Rights Reserved 33 ユースケース: 複雑な活動の指揮 • 多段階の継続的デプロイメント・パイプライン • 一時サーバを活用したビルド • 青緑デプロイメント + 自動コミット・アボート • テストの並列実行と自動的なsharding • literateプラグインと連携したブランチ毎の自動 ジョブ生成
  • 34. ©2013 CloudBees, Inc. All Rights Reserved 34 サポートしたい処理の特徴 • 多段の処理を含む複雑なパイプライン • ループや並列処理を含む非直線的な処理 • 再起動をまたぐ長時間ビルドのサポート • 中断、確認、分岐などの人間との対話 • 一過性のエラーなどに便利な途中からの再開 • ジョブ間・組織間の処理の再利用 • 一箇所で処理を簡潔に記述
  • 35. ©2013 CloudBees, Inc. All Rights Reserved 35
  • 36. ©2013 CloudBees, Inc. All Rights Reserved 36
  • 37. ©2013 CloudBees, Inc. All Rights Reserved 37
  • 38. ©2013 CloudBees, Inc. All Rights Reserved 38
  • 39. ©2013 CloudBees, Inc. All Rights Reserved 39 node(“linux”) { git ‘https://github.com/foo/bar.git’ sh “mvn install” parallel( { sh “./regression-test.sh” }, { sh “./performance-test.sh” } ) … }
  • 40. ©2013 CloudBees, Inc. All Rights Reserved 40 Build #153Build #153
  • 41. ©2013 CloudBees, Inc. All Rights Reserved 41 foo() void foo() { try { sh ‘sleep 1h’ } finally { sh ‘rm -rf *.tmp’ } }
  • 42. ©2013 CloudBees, Inc. All Rights Reserved 42 Groovyのフローの中断と再開 • 「継続渡し方式(CPS)」への変換 • カスタムのGroovyインタプリタで実行 • プログラムの状態をセーフポイントで永続化 • Jenkins起動後の状態の復元 – Pickle: 素直に永続化できないオブジェクトを処理す る拡張ポイント
  • 43. ©2013 CloudBees, Inc. All Rights Reserved 43 ビルドの中断と再開 • It “just works” • ローカル変数やコールスタックも復元 • シェルなど外部プロセスも生き延びる – スレーブの再接続 • Jenkins Enterprise: チェックポイントから再開 – 最初からやり直すのではなく途中からやり直す – 元のビルドからアーティファクトなどを再利用
  • 44. ©2013 CloudBees, Inc. All Rights Reserved 44
  • 45. ©2013 CloudBees, Inc. All Rights Reserved 45
  • 46. ©2013 CloudBees, Inc. All Rights Reserved 46
  • 47. ©2013 CloudBees, Inc. All Rights Reserved 47
  • 48. ©2013 CloudBees, Inc. All Rights Reserved 48
  • 49. ©2013 CloudBees, Inc. All Rights Reserved 49
  • 50. ©2013 CloudBees, Inc. All Rights Reserved 50
  • 51. ©2013 CloudBees, Inc. All Rights Reserved 51
  • 52. ©2013 CloudBees, Inc. All Rights Reserved 52 現状 • 難しい基盤のところは大体完成 • ユーザ・コミッタ募集中 • 現在 version 1.1 • LTSでも動きます
  • 53. ©2013 CloudBees, Inc. All Rights Reserved 53 まとめ • 複雑な活動を簡潔に指揮・記述 • 一つのジョブで必要な全てを記述 • GroovyによるDSL • JVMのロスや再起動に耐えるデザイン • 拡張性 • github.com/jenkinsci/workflow-plugin
  • 54. ©2013 CloudBees, Inc. All Rights Reserved 54 ワークフロー • github.com/jenkinsci/workflow-plugin • 幾つもの新しい拡張ポイント • Jenkins Enterpriseへの機能追加も予定してま す
  • 55. ©2013 CloudBees, Inc. All Rights Reserved 55
  • 56. ©2013 CloudBees, Inc. All Rights Reserved 56 LTSのトレインモデルへの変更 メインリリース系列 LTSリリース系列 ベースラインを選ぶ 1.554.21.554.1 1.554.3 4週間毎のLTSリリース
  • 57. ©2013 CloudBees, Inc. All Rights Reserved 57 LTSのトレインモデルへの変更 • アップグレードを事前計画するのが簡単 • LTSテストプロセスへの参加を容易に
  • 58. ©2013 CloudBees, Inc. All Rights Reserved 58 受け入れテスト&ハーネス • 実は古いプロジェクトの再生版v2 • 活発なアクティビティ –コミット/週: 50+ –コミッタ: 22 –テスト: 365 –対象プラグイン: ~50
  • 59. ©2013 CloudBees, Inc. All Rights Reserved 59 受け入れテスト&ハーネス
  • 60. ©2013 CloudBees, Inc. All Rights Reserved 60 Class of problems we hope to catch • Browser-specific issues • Container-specific issues • OS-specific issues • Packaging-specific issues • Problematic plugin combinations • Plugin with newer versions of cores
  • 61. ©2013 CloudBees, Inc. All Rights Reserved 61 This is for you, too I want to make sure a new version of Jenkins works in my environment with my set of plugins.
  • 62. ©2013 CloudBees, Inc. All Rights Reserved 62 Reusability • Make your tests our tests • Amass a bigger pool of tests
  • 63. ©2013 CloudBees, Inc. All Rights Reserved 63 Separately reusable pieces Jenkins Controller Page Objects JENKINS HOME seeder Machine Provisioner Docker fixtures Cucumber integration Geb + Spock Vagrant JUT Process pool
  • 64. ©2013 CloudBees, Inc. All Rights Reserved 64 More work ahead • More regular executions –More target platforms –More browsers • Test stability improvements • Expand to non-functional tests
  • 65. ©2013 CloudBees, Inc. All Rights Reserved 65 X1K
  • 66. ©2013 CloudBees, Inc. All Rights Reserved 66 More efficient master/slave communication • NIO in remoting –use a few threads to manage 100s of slaves • JNLP today, coming to CLI soon • Maven2 jobs are a lot faster
  • 67. ©2013 CloudBees, Inc. All Rights Reserved 67 Speaking of JNLP slaves…
  • 68. ©2013 CloudBees, Inc. All Rights Reserved 68 Speaking of JNLP slaves…
  • 69. ©2013 CloudBees, Inc. All Rights Reserved 69 http://www.flickr.com/photos/acmace/4410650624/
  • 70. ©2013 CloudBees, Inc. All Rights Reserved 70 “Eat our own dogfood” approach • Continuous delivery pipeline for our own infra • Shout out to Puppet Labs for their help
  • 71. ©2013 CloudBees, Inc. All Rights Reserved 71 Infra Summary • It’s all out there –github.com/jenkins-infra/jenkins-infra • Come join the infra team –Work on cutting-edge stuff & brag about it elsewhere
  • 72. ©2013 CloudBees, Inc. All Rights Reserved 72
  • 73. ©2013 CloudBees, Inc. All Rights Reserved 73
  • 74. ©2013 CloudBees, Inc. All Rights Reserved 74 Conclusion • So many exciting things going on in the project • Let’s build this together
  • 75. ©2013 CloudBees, Inc. All Rights Reserved 75 Ops側の変更は最小に • Chef – カスタム・レポートハンドラとして実装 • Puppet – 標準リポート形式をJenkinsにPOSTするだけ • 求むフィードバック – データをJenkinsに送るベストな方法