Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
How to develop Jenkins plugin using to ruby and...
Search
SHIBATA Hiroshi
July 29, 2012
Technology
3.2k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to develop Jenkins plugin using to ruby and Jenkins.rb
SHIBATA Hiroshi
July 29, 2012
More Decks by SHIBATA Hiroshi
See All by SHIBATA Hiroshi
How to make faster release cycle of Ruby?
hsbt
2
6.4k
Ruby の開発を支えるエコシステム
hsbt
4
2.4k
Why is building the Ruby environment hard?
hsbt
6
8.7k
開発環境へのこだわり
hsbt
16
12k
OSS ことはじめ
hsbt
5
1.6k
GMO DevNight 05 在宅勤務開始から2ヶ月でやったこと
hsbt
2
610
Development Environment 2019
hsbt
1
390
How to become the Psychic
hsbt
0
2.1k
Software Development
hsbt
1
6.8k
Other Decks in Technology
See All in Technology
高負荷プロダクション環境におけるAWS Lambdaのリアル 〜スケールとコストを左右する実行ライフサイクルの技術仕様〜
maimyyym
2
850
OpenClawでAzure DevOpsのWiki更新を自動化する - クラウドAIだけでは届かない場所へ
yutakaosada
0
150
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
140
2026-10-01_MagicPod_QAハーネスエンジニアリングとQA組織の未来像
ynisqa1988
1
470
AI臭い文章とは何なのか
nasuvitz
38
78k
Apache Iceberg が拓く AI 時代のオープンレイクハウス
tomtanaka
0
210
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
450
2026-09-26 Platform Engineering Kaigi 2026 インフラとアプリの境界線と委譲の設計 / Drawing the Infra and App Line
masasuzu
0
610
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
140
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
770
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
170
Deep Data Security 機能解説
oracle4engineer
PRO
2
650
Featured
See All Featured
Practical Orchestrator
shlominoach
192
12k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
290
Are puppies a ranking factor?
jonoalderson
2
4k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
270
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
340
YesSQL, Process and Tooling at Scale
rocio
174
15k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
340
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
760
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The Limits of Empathy - UXLibs8
cassininazir
1
700
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.1k
Transcript
ࣲాതࢤ SHIBATA Hiroshi QBQFSCPZDP BTBLVTBSC paperboy&co., Inc. How to develop
Jenkins plugin using to ruby and Jenkins.rb ൃදॴ+FOLJOT6TFS$POGFSFODF 2012-07-29(Sun) KFOLJOTSCͰ࢝ΊΔ 3VCZͰ+FOLJOT ϓϥάΠϯ࡞
+FOLJOT6TFS $POGFSFODF5PLZP ։࠵͓ΊͰͱ͏͍͟͝·͢ɻ
εϙϯαʔͷ͝հ
ࣗݾհ
SHIBATA Hiroshi
http://twitter.com/hsbt/ http://www.hsbt.org/ http://github.com/hsbt/
None
None
ձࣾհ ```
None
ࣄ༰
ٕज़ج൫ උ ΤϯδχΞ
None
None
ձࣾհ ऴΘΓ
None
๛ͳϓϥάΠϯ
ࣗͰϓ ϥάΠϯͳ Β࡞Εͦ͏ ͳؾ͕͢Δ
None
+BWB
KFOLJOTSC
1.KBWBSVOUJNF 4.SVCZUPPMTKQJ 3.SVCZUPPMTDMJ 2.SVCZSVOUJNF
KBWBSVOUJNF SVCZSVOUJNF +FOLJOTʹ+3VCZΛ ΈࠐΉ +FOLJOTͷ+BWBΫϥε Λ+3VCZͰϥούʔ͢Δ
SVCZUPPMTDMJ SVCZUPPMTKQJ KFOLJOTΛૢ࡞͢Δౕ ࠓͳ͢͜ͱ
KQJSC
SCFOWJOTUBMMKSVCZ SCFOWTIFMMKSVCZ HFNJOTUBMMKQJ
$PNNBOET KQJIFMQ<$0.."/%> KQJOFX/".& KQJHFOFSBUF<PQUJPOT><BSHVNFOUT> KQJCVJME KQJTFSWFS KQJSFMFBTF KQJWFSTJPO
KQJ IFMQ KQJ WFSTJPO
লུ
KQJ OFX
KQJOFXSCFOW DSFBUFSCFOW(FNpMF DSFBUFSCFOWKFOLJOT SCFOWQMVHJOTQFD
TPVSDFSVCZHFNT HFNKFOLJOTQMVHJOSVOUJNF d Gemfile
+FOLJOT1MVHJO4QFDJpDBUJPOOFXEPcQMVHJOc QMVHJOOBNFKFOLJOTSCFOW QMVHJOEJTQMBZ@OBNF+FOLJOT3CFOW1MVHJO QMVHJOWFSTJPO QMVHJOEFTDSJQUJPO50%0FOUFSEFTDSJQUJPO IFSF QMVHJOVSMIUUQTXJLJKFOLJOTDJPSH EJTQMBZ+&/,*/4+FOLJOT 3CFOW 1MVHJO
QMVHJOEFWFMPQFE@CZTIJCBUBIJSPTIJ 4)*#"5")JSPTIJTIJCBUBIJSPTIJ!HNBJMDPN QMVHJOVTFT@SFQPTJUPSZHJUIVCKFOLJOT SCFOWQMVHJO QMVHJOEFQFOET@POSVCZSVOUJNF FOE jenkins-rbenv.pluginspec
+FOLJOT1MVHJO4QFDJpDBUJPOOFXEPcQMVHJOc QMVHJOOBNFKFOLJOTSCFOW QMVHJOEJTQMBZ@OBNF+FOLJOT3CFOW1MVHJO QMVHJOWFSTJPO QMVHJOEFTDSJQUJPO50%0FOUFSEFTDSJQUJPO IFSF QMVHJOVSMIUUQTXJLJKFOLJOTDJPSH EJTQMBZ+&/,*/4+FOLJOT 3CFOW 1MVHJO
QMVHJOEFWFMPQFE@CZTIJCBUBIJSPTIJ 4)*#"5")JSPTIJTIJCBUBIJSPTIJ!HNBJMDPN QMVHJOVTFT@SFQPTJUPSZHJUIVCKFOLJOT SCFOWQMVHJO QMVHJOEFQFOET@POSVCZSVOUJNF FOE jenkins-rbenv.pluginspec
+FOLJOT1MVHJO4QFDJpDBUJPOOFXEPcQMVHJOc QMVHJOOBNFKFOLJOTSCFOW QMVHJOEJTQMBZ@OBNF+FOLJOT3CFOW1MVHJO QMVHJOWFSTJPO QMVHJOEFTDSJQUJPO50%0FOUFSEFTDSJQUJPO IFSF QMVHJOVSMIUUQTXJLJKFOLJOTDJPSH EJTQMBZ+&/,*/4+FOLJOT 3CFOW 1MVHJO
QMVHJOEFWFMPQFE@CZTIJCBUBIJSPTIJ 4)*#"5")JSPTIJTIJCBUBIJSPTIJ!HNBJMDPN QMVHJOVTFT@SFQPTJUPSZHJUIVCKFOLJOT SCFOWQMVHJO QMVHJOEFQFOET@POSVCZSVOUJNF FOE jenkins-rbenv.pluginspec
+FOLJOT1MVHJO4QFDJpDBUJPOOFXEPcQMVHJOc QMVHJOOBNFKFOLJOTSCFOW QMVHJOEJTQMBZ@OBNF+FOLJOT3CFOW1MVHJO QMVHJOWFSTJPO QMVHJOEFTDSJQUJPO50%0FOUFSEFTDSJQUJPO IFSF QMVHJOVSMIUUQTXJLJKFOLJOTDJPSH EJTQMBZ+&/,*/4+FOLJOT 3CFOW 1MVHJO
QMVHJOEFWFMPQFE@CZTIJCBUBIJSPTIJ 4)*#"5")JSPTIJTIJCBUBIJSPTIJ!HNBJMDPN QMVHJOVTFT@SFQPTJUPSZHJUIVCKFOLJOT SCFOWQMVHJO QMVHJOEFQFOET@POSVCZSVOUJNF FOE jenkins-rbenv.pluginspec
+FOLJOT1MVHJO4QFDJpDBUJPOOFXEPcQMVHJOc QMVHJOOBNFKFOLJOTSCFOW QMVHJOEJTQMBZ@OBNF+FOLJOT3CFOW1MVHJO QMVHJOWFSTJPO QMVHJOEFTDSJQUJPO50%0FOUFSEFTDSJQUJPO IFSF QMVHJOVSMIUUQTXJLJKFOLJOTDJPSH EJTQMBZ+&/,*/4+FOLJOT 3CFOW 1MVHJO
QMVHJOEFWFMPQFE@CZTIJCBUBIJSPTIJ 4)*#"5")JSPTIJTIJCBUBIJSPTIJ!HNBJMDPN QMVHJOVTFT@SFQPTJUPSZHJUIVCKFOLJOT SCFOWQMVHJO QMVHJOEFQFOET@POSVCZSVOUJNF FOE jenkins-rbenv.pluginspec
+FOLJOT1MVHJO4QFDJpDBUJPOOFXEPcQMVHJOc QMVHJOOBNFKFOLJOTSCFOW QMVHJOEJTQMBZ@OBNF+FOLJOT3CFOW1MVHJO QMVHJOWFSTJPO QMVHJOEFTDSJQUJPO50%0FOUFSEFTDSJQUJPO IFSF QMVHJOVSMIUUQTXJLJKFOLJOTDJPSH EJTQMBZ+&/,*/4+FOLJOT 3CFOW 1MVHJO
QMVHJOEFWFMPQFE@CZTIJCBUBIJSPTIJ 4)*#"5")JSPTIJTIJCBUBIJSPTIJ!HNBJMDPN QMVHJOVTFT@SFQPTJUPSZHJUIVCKFOLJOT SCFOWQMVHJO QMVHJOEFQFOET@POSVCZSVOUJNF FOE jenkins-rbenv.pluginspec
+FOLJOT1MVHJO4QFDJpDBUJPOOFXEPcQMVHJOc QMVHJOOBNFKFOLJOTSCFOW QMVHJOEJTQMBZ@OBNF+FOLJOT3CFOW1MVHJO QMVHJOWFSTJPO QMVHJOEFTDSJQUJPO50%0FOUFSEFTDSJQUJPO IFSF QMVHJOVSMIUUQTXJLJKFOLJOTDJPSH EJTQMBZ+&/,*/4+FOLJOT 3CFOW 1MVHJO
QMVHJOEFWFMPQFE@CZTIJCBUBIJSPTIJ 4)*#"5")JSPTIJTIJCBUBIJSPTIJ!HNBJMDPN QMVHJOVTFT@SFQPTJUPSZHJUIVCKFOLJOT SCFOWQMVHJO QMVHJOEFQFOET@POSVCZSVOUJNF FOE jenkins-rbenv.pluginspec
+FOLJOT1MVHJO4QFDJpDBUJPOOFXEPcQMVHJOc QMVHJOOBNFKFOLJOTSCFOW QMVHJOEJTQMBZ@OBNF+FOLJOT3CFOW1MVHJO QMVHJOWFSTJPO QMVHJOEFTDSJQUJPO50%0FOUFSEFTDSJQUJPO IFSF QMVHJOVSMIUUQTXJLJKFOLJOTDJPSH EJTQMBZ+&/,*/4+FOLJOT 3CFOW 1MVHJO
QMVHJOEFWFMPQFE@CZTIJCBUBIJSPTIJ 4)*#"5")JSPTIJTIJCBUBIJSPTIJ!HNBJMDPN QMVHJOVTFT@SFQPTJUPSZHJUIVCKFOLJOT SCFOWQMVHJO QMVHJOEFQFOET@POSVCZSVOUJNF FOE jenkins-rbenv.pluginspec
+FOLJOT1MVHJO4QFDJpDBUJPOOFXEPcQMVHJOc QMVHJOOBNFKFOLJOTSCFOW QMVHJOEJTQMBZ@OBNF+FOLJOT3CFOW1MVHJO QMVHJOWFSTJPO QMVHJOEFTDSJQUJPO50%0FOUFSEFTDSJQUJPO IFSF QMVHJOVSMIUUQTXJLJKFOLJOTDJPSH EJTQMBZ+&/,*/4+FOLJOT 3CFOW 1MVHJO
QMVHJOEFWFMPQFE@CZTIJCBUBIJSPTIJ 4)*#"5")JSPTIJTIJCBUBIJSPTIJ!HNBJMDPN QMVHJOVTFT@SFQPTJUPSZHJUIVCKFOLJOT SCFOWQMVHJO QMVHJOEFQFOET@POSVCZSVOUJNF FOE jenkins-rbenv.pluginspec
KQJ HFOFSBUF
"WBJMBCMF(FOFSBUPST QVCMJTIFS CVJMEFS XSBQQFS OPEF@QSPQFSUZ SVO@MJTUFOFS DPNQVUFS@MJTUFOFS
1.QVCMJTIFS 3.XSBQQFS 2.CVJMEFS ϏϧυޙʹԿ͔Δ Ϗϧυͱͯ͠Կ͔Δ ϏϧυલޙʹॲཧΛڬΉ
4.OPEF@QSPQFSUZ 6.DPNQVUFS@MJTUFOFS 5.SVO@MJTUFOFS jenkins ͷ node ઃఆ ϏϧυͷྃΛड͚औͬ ͯԿ͔Δ εςʔλε͕มΘͬͨ࣌
ʹԿ͔Δ
XSBQQFS Λ࡞ͬͯΈΑ͏
DESCFOW KQJHFOFSBUFXSBQQFS SCFOW DSFBUFNPEFMT SCFOW@XSBQQFSSC
DMBTT3CFOW8SBQQFS +FOLJOT5BTLT#VJME8SBQQFS EJTQMBZ@OBNF3CFOWCVJMEXSBQQFS EFGJOJUJBMJ[F BUUST\^ FOE EFGTFUVQ CVJME MBVODIFS MJTUFOFS
FOE EFGUFBSEPXO CVJME MJTUFOFS FOE FOE rbenv_wrapper.rb
DMBTT3CFOW8SBQQFS +FOLJOT5BTLT#VJME8SBQQFS EJTQMBZ@OBNF3CFOWCVJMEXSBQQFS EFGJOJUJBMJ[F BUUST\^ FOE EFGTFUVQ CVJME MBVODIFS MJTUFOFS
FOE EFGUFBSEPXO CVJME MJTUFOFS FOE FOE rbenv_wrapper.rb
DMBTT3CFOW8SBQQFS +FOLJOT5BTLT#VJME8SBQQFS EJTQMBZ@OBNF3CFOWCVJMEXSBQQFS EFGJOJUJBMJ[F BUUST\^ FOE EFGTFUVQ CVJME MBVODIFS MJTUFOFS
FOE EFGUFBSEPXO CVJME MJTUFOFS FOE FOE rbenv_wrapper.rb
DMBTT3CFOW8SBQQFS +FOLJOT5BTLT#VJME8SBQQFS EJTQMBZ@OBNF3CFOWCVJMEXSBQQFS EFGJOJUJBMJ[F BUUST\^ FOE EFGTFUVQ CVJME MBVODIFS MJTUFOFS
FOE EFGUFBSEPXO CVJME MJTUFOFS FOE FOE rbenv_wrapper.rb
ઃఆը໘Λ ͍͍ͨ
None
NLEJSQWJFXTSCFOW@XSBQQFS UPVDIWJFXTSCFOW@XSBQQFS DPOpHFSC
GUBHMJC MJCGPSN GFOUSZ UJUMF7FSTJPO pFME WFSTJPO EFTDSJQUJPO36#: TVDIBT Q
EP GUFYUCPY FOE GFOUSZ UJUMF1SFJOTUBMMHFNMJTU pFME HFN@MJTU EFTDSJQUJPOFYCVOEMFS SBLF EP GUFYUCPY WBMVFCVOEMFS SBLF FOE config.erb
None
KFMMZUBHMJC
DMBTT3CFOW8SBQQFS +FOLJOT5BTLT#VJME8SBQQFS EJTQMBZ@OBNF3CFOWCVJMEXSBQQFS EFGJOJUJBMJ[F BUUST\^ FOE EFGTFUVQ CVJME MBVODIFS MJTUFOFS
FOE EFGUFBSEPXO CVJME MJTUFOFS FOE FOE rbenv_wrapper.rb
BUUS@BDDFTTPSWFSTJPO EFGJOJUJBMJ[F BUUST\^ !WFSTJPO BUUST<WFSTJPO> FOE rbenv_wrapper.rb
DMBTT3CFOW8SBQQFS +FOLJOT5BTLT#VJME8SBQQFS EJTQMBZ@OBNF3CFOWCVJMEXSBQQFS EFGJOJUJBMJ[F BUUST\^ FOE EFGTFUVQ CVJME MBVODIFS MJTUFOFS
FOE EFGUFBSEPXO CVJME MJTUFOFS FOE FOE rbenv_wrapper.rb
JOTUBMM@QBUIdSCFOWWFSTJPOT\!WFSTJPO^ CFHJO VOMFTT'JMF5FTUEJSFDUPSZ 'JMFFYQBOE@QBUI dSCFOW MJTUFOFS*OTUBMMSCFOWaO MBVODIFSFYFDVUF CBTI D
HJUDMPOF \3#&/7@1"5)^dSCFOW \PVUMJTUFOFS^ FOE SFTDVF CVJMEBCPSU FOE rbenv_wrapper.rb
JOTUBMM@QBUIdSCFOWWFSTJPOT\!WFSTJPO^ CFHJO VOMFTT'JMF5FTUEJSFDUPSZ 'JMFFYQBOE@QBUI dSCFOW MJTUFOFS*OTUBMMSCFOWaO MBVODIFSFYFDVUF CBTI D
HJUDMPOF \3#&/7@1"5)^dSCFOW \PVUMJTUFOFS^ FOE SFTDVF CVJMEBCPSU FOE rbenv_wrapper.rb
JOTUBMM@QBUIdSCFOWWFSTJPOT\!WFSTJPO^ CFHJO VOMFTT'JMF5FTUEJSFDUPSZ 'JMFFYQBOE@QBUI dSCFOW MJTUFOFS*OTUBMMSCFOWaO MBVODIFSFYFDVUF CBTI D
HJUDMPOF \3#&/7@1"5)^dSCFOW \PVUMJTUFOFS^ FOE SFTDVF CVJMEBCPSU FOE rbenv_wrapper.rb
JOTUBMM@QBUIdSCFOWWFSTJPOT\!WFSTJPO^ CFHJO VOMFTT'JMF5FTUEJSFDUPSZ 'JMFFYQBOE@QBUI dSCFOW MJTUFOFS*OTUBMMSCFOWaO MBVODIFSFYFDVUF CBTI D
HJUDMPOF \3#&/7@1"5)^dSCFOW \PVUMJTUFOFS^ FOE SFTDVF CVJMEBCPSU FOE rbenv_wrapper.rb
KQJ CVJME
1.QMVHJOTQFD͔Β QPNYNMΛੜ 2.IQJϑΝΠϧΛੜ
KQJ TFSWFS
QMVHJOΛ ಡΈࠐΜͩ +FOLJOT Λىಈ͢Δ
खಈςετ
KQJ SFMFBTF
1.KFOLJOTDJPSHʹΞο ϓϩʔυ͢Δ 3.Ҿແ͠TOBQTIPU SFMFBTFΛ͚Δͱ QSPEVDUJPO 2.dKFOLJOTDJPSHͷ ΞΧϯτใΛ༻
ͦͷଞ
UFTUVOJU PS STQFD ςετ
͑ͳ͍ͷͰ +BWBϥΠϒϥϦ ͰؤுΔ rubygems
etc https://github.com/jenkinsci/rvm-plugin https://github.com/hsbt/jenkins-rbenv-plugin https://github.com/takai/jenkins-hipchat-publisher-plugin
8SJUFZPVSQMVHJO