SlideShare a Scribd company logo
1 of 27
Jenkinsについて何か cactusman
自己紹介 HN:cactusman(さぼてん)  年齢:0x1d  出身:関西  所属:java-ja,Wicket-ja 肩書き:Jenkinsコミッタ
注意 O社とのごたごたは聞かないでください gihyo.jpにわかりやすい記事があります Buildbotについては聞かないでください エキスパートPythonの作者に聞いてください 名人については聞かないでください もうJenkinsです Pythonの話は? 聞かないでください
Jenkinsのクラスタリングのすすめ cactusman
アジェンダ CIとは? Jenkinsについて軽く スローテスト問題 Jenkinsのクラスタリングについて まとめ
CIとは 継続的インテグレーション(ContinuousIntegration)の略 XPのベストプラクティスのひとつ システムのインテグレーション作業 を開発の初期段階から頻繁に行う
具体的には チェック アウト コンパイル システム テスト UnitTest デプロイ インスペクション 結合テスト パッケージ
概要図
CIを行うメリット 成果物の品質の保証 ビルドやテストが通らない、といった開発時の不具合が先送りしにくくなり、早期発見しやすくなる デグレートが起きにくくなる 手戻りコストの削減
個人的に考えるCIのメリット 関心ごとの分離 一度に複数のことを対処するのはよくない 全てを予測するのは現実的ではない 人間が行わなければいけない仕事に注力できる テスト資産 テストを書くようになる テスト戦略について考えるようになる リソースの有効活用 複数の環境
とはいうものの 何から始めていいかわからない 労力(コスト)の割には得られるメリットがすくないんじゃないの?
そこでJenkinsです!
Jenkinsとは OSSのCIツール メインの開発者は川口耕介さん 簡単、手軽、親切 JavaWebStartで起動 「java -jar jenkins.war」起動 好きなサーブレットコンテナにデプロイ可能 設定はWebの画面 DBが不要 プラグインで機能拡張
デモ
割と簡単なため導入ができたとします。 (できないことも多いですが・・・)
よくある話 みんなテストをがしがし書いていきます。
よくある話 みんなテストをがしがし書いていきます。 ローカルでの実行でも時間がかかるようになります。
よくある話 みんなテストをがしがし書いていきます。 ローカルでの実行でも時間がかかるようになります。 気が付いたら、全テスト通すのに日単位になってることがあります。
よくある話 みんなテストをがしがし書いていきます。 ローカルでの実行でも時間がかかるようになります。 気が付いたら、全テスト通すのに日単位になってることがあります。 ->スローテスト問題
スローテスト問題 テスト実行に時間がかかりすぎる テスト実行数の増加によるところ 非効率なテスト 依存関係 依存している全モジュールをテスト システムテスト的なもの Seleniumとか みんないきつくところ ビルド自体も同様
解消方法 テスト自体のパフォーマンスチューニング TDD的なテストは捨てる DBなどはモック化 Jobのスケジューリング 早く終わるもの、価値の高いものを優先 Jobを細分化 並列性を上げる スケールアップ スケールアウト(クラスタリング)
やっとクラスタリングに到達
Jenkinsのクラスタリングについて マスタ /スレーブ方式 マスタは命令を出す スレーブを命令どおりに仕事する マスタはスレーブの結果を集める スレーブの設定はsshがおすすめ スレーブ側のsshの設定ができていればスレーブエージェントを自動で送り込める スレーブにラベルを付けれる WindosのみやLinuxのみ、実行環境のバージョンやDBごとなどをグループ化
デモ Windows JNLP経由でのスレーブ起動
クラスタリング構成の有用性 マシンは人間に比べて安い こき使いましょう 使いこなすのもスキル Job単位で並列で実行可能 Jobの作り方次第 できる幅が広がる あるスレーブでは性能テストのみなど
まとめ Jenkinsは導入が簡単 Jenkinsのクラスタリングは簡単 スローテストには是非クラスタリング構成を
情報 公式Wikiに日本語情報があります 今回のクラスタリングについても情報が豊富です Twitterでつぶやく 意外とコミッターときゃっきゃうふふできます togetterにまとめがいくつかあります ブログに読む/書く エラーなどはじゃんじゃん書いてください もれなくコミッターから突っ込みが入ります

More Related Content

Viewers also liked

Viewers also liked (9)

邪道Jenkins
邪道Jenkins邪道Jenkins
邪道Jenkins
 
Startup jenkins!
Startup jenkins!Startup jenkins!
Startup jenkins!
 
20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf
 
Javaユーザに贈るJenkins 25のTips
Javaユーザに贈るJenkins 25のTipsJavaユーザに贈るJenkins 25のTips
Javaユーザに贈るJenkins 25のTips
 
Jenkinsで始める継続的デリバリーと実践の道程
Jenkinsで始める継続的デリバリーと実践の道程Jenkinsで始める継続的デリバリーと実践の道程
Jenkinsで始める継続的デリバリーと実践の道程
 
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
 
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーションJenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
 
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
 
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
 

Similar to Jenkins

jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリーjenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
Junya Suzuki
 
Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技
Toshiyuki Kawanishi
 
Net なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみたNet なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみた
Oda Shinsuke
 
Jenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーションJenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーション
dcubeio
 
Jenkins勉強会 in 札幌 第二部
Jenkins勉強会 in 札幌 第二部Jenkins勉強会 in 札幌 第二部
Jenkins勉強会 in 札幌 第二部
cactusman
 

Similar to Jenkins (10)

CIのもたらす世界
CIのもたらす世界CIのもたらす世界
CIのもたらす世界
 
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
 
Jenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいますJenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいます
 
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリーjenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
 
Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技
 
Net なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみたNet なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみた
 
Jenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーションJenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーション
 
Jenkins勉強会 in 札幌 第二部
Jenkins勉強会 in 札幌 第二部Jenkins勉強会 in 札幌 第二部
Jenkins勉強会 in 札幌 第二部
 
「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy
「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy
「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy
 
改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate
改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate
改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate
 

More from cactusman (6)

Hudson初心者向けデモ
Hudson初心者向けデモHudson初心者向けデモ
Hudson初心者向けデモ
 
GCについて
GCについてGCについて
GCについて
 
HudsonによるOss開発
HudsonによるOss開発HudsonによるOss開発
HudsonによるOss開発
 
頼れる執事があなたをサポート
頼れる執事があなたをサポート頼れる執事があなたをサポート
頼れる執事があなたをサポート
 
1000speakers#2-5 頼れる執事Hudson
1000speakers#2-5 頼れる執事Hudson1000speakers#2-5 頼れる執事Hudson
1000speakers#2-5 頼れる執事Hudson
 
HudsonときどきMaven2
HudsonときどきMaven2HudsonときどきMaven2
HudsonときどきMaven2
 

Recently uploaded

Recently uploaded (12)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Jenkins