ࣲాതࢤSHIBATA HiroshiQBQFSCPZDPBTBLVTBSCpaperboy&co., Inc.How to develop Jenkins plugin using to ruby andJenkins.rbൃදॴ+FOLJOT6TFS$POGFSFODF 2012-07-29(Sun)KFOLJOTSCͰ࢝ΊΔ3VCZͰ+FOLJOTϓϥάΠϯ࡞
View Slide
+FOLJOT6TFS$POGFSFODF5PLZP։࠵͓ΊͰͱ͏͍͟͝·͢ɻ
εϙϯαʔͷ͝հ
ࣗݾհ
SHIBATA Hiroshi
http://twitter.com/hsbt/http://www.hsbt.org/http://github.com/hsbt/
ձࣾհ```
ࣄ༰
ٕज़ج൫උΤϯδχΞ
ձࣾհऴΘΓ
๛ͳϓϥάΠϯ
ࣗͰϓϥάΠϯͳΒ࡞Εͦ͏ͳؾ͕͢Δ
+BWB
KFOLJOTSC
1.KBWBSVOUJNF4.SVCZUPPMTKQJ3.SVCZUPPMTDMJ2.SVCZSVOUJNF
KBWBSVOUJNFSVCZSVOUJNF+FOLJOTʹ+3VCZΛΈࠐΉ+FOLJOTͷ+BWBΫϥεΛ+3VCZͰϥούʔ͢Δ
SVCZUPPMTDMJSVCZUPPMTKQJKFOLJOTΛૢ࡞͢Δౕࠓͳ͢͜ͱ
KQJSC
SCFOWJOTUBMMKSVCZSCFOWTIFMMKSVCZHFNJOTUBMMKQJ
$PNNBOETKQJIFMQKQJOFX/".&KQJHFOFSBUFKQJCVJMEKQJTFSWFSKQJSFMFBTFKQJWFSTJPO
KQJIFMQKQJWFSTJPO
লུ
KQJOFX
KQJOFXSCFOWDSFBUFSCFOW(FNpMFDSFBUFSCFOWKFOLJOTSCFOWQMVHJOTQFD
TPVSDFSVCZHFNTHFNKFOLJOTQMVHJOSVOUJNF dGemfile
+FOLJOT1MVHJO4QFDJpDBUJPOOFXEPcQMVHJOcQMVHJOOBNFKFOLJOTSCFOW[email protected]+FOLJOT3CFOW1MVHJOQMVHJOWFSTJPOQMVHJOEFTDSJQUJPO50%0FOUFSEFTDSJQUJPOIFSFQMVHJOVSMIUUQTXJLJKFOLJOTDJPSHEJTQMBZ+&/,*/4+FOLJOT3CFOW1MVHJO[email protected] 4)*#"5")JSPTIJTIJCBUBIJSPTIJ!HNBJMDPN[email protected]SCFOWQMVHJO[email protected] FOEjenkins-rbenv.pluginspec
+FOLJOT1MVHJO4QFDJpDBUJPOOFXEPcQMVHJOcQMVHJOOBNFKFOLJOTSCFOW[email protected]+FOLJOT3CFOW1MVHJOQMVHJOWFSTJPOQMVHJOEFTDSJQUJPO50%0FOUFSEFTDSJQUJPOIFSFQMVHJOVSMIUUQTXJLJKFOLJOTDJPSHEJTQMBZ+&/,*/4+FOLJOT3CFOW1MVHJO[email protected] 4)*#"5")JSPTIJTIJCBUBIJSPTIJ!HNBJMDPN[email protected]SCFOWQMVHJOQMVHJOEFQF[email protected] FOEjenkins-rbenv.pluginspec
KQJHFOFSBUF
"WBJMBCMF(FOFSBUPSTQVCMJTIFSCVJMEFSXSBQQFS[email protected][email protected][email protected]
1.QVCMJTIFS3.XSBQQFS2.CVJMEFSϏϧυޙʹԿ͔ΔϏϧυͱͯ͠Կ͔ΔϏϧυલޙʹॲཧΛڬΉ
[email protected][email protected][email protected]jenkins ͷ node ઃఆϏϧυͷྃΛड͚औͬͯԿ͔Δεςʔλε͕มΘͬͨ࣌ʹԿ͔Δ
XSBQQFSΛ࡞ͬͯΈΑ͏
DESCFOWKQJHFOFSBUFXSBQQFSSCFOWDSFBUFNPEFMT[email protected]
DMBTT3CFOW8SBQQFS+FOLJOT5BTLT#VJME8SBQQFS[email protected]EFGJOJUJBMJ[F BUUST\^FOEEFGTFUVQ CVJME MBVODIFS MJTUFOFSFOEEFGUFBSEPXO CVJME MJTUFOFSFOEFOErbenv_wrapper.rb
ઃఆը໘Λ͍͍ͨ
[email protected][email protected]DPOpHFSC
GUBHMJC MJCGPSNGFOUSZ UJUMF7FSTJPO pFMEWFSTJPO EFTDSJQUJPO36#: TVDIBTQEPGUFYUCPYFOEGFOUSZ UJUMF1SFJOTUBMMHFNMJTU pFME[email protected] EFTDSJQUJPOFYCVOEMFS SBLFEPGUFYUCPY WBMVFCVOEMFS SBLFFOEconfig.erb
KFMMZUBHMJC
DMBTT3CFOW8SBQQFS+FOLJOT5BTLT#VJME8SBQQFS[email protected]CFOWCVJMEXSBQQFSEFGJOJUJBMJ[F BUUST\^FOEEFGTFUVQ CVJME MBVODIFS MJTUFOFSFOEEFGUFBSEPXO CVJME MJTUFOFSFOEFOErbenv_wrapper.rb
[email protected]EFGJOJUJBMJ[F BUUST\^!WFSTJPOBUUSTWFSTJPO>FOErbenv_wrapper.rb
[email protected]\!WFSTJPO^CFHJOVOMFTT'JMF5FTUEJSFDUPSZ '[email protected] dSCFOWMJTUFOFS*OTUBMMSCFOWaOMBVODIFSFYFDVUF CBTI D HJUDMPOF\3#&/[email protected]"5)^dSCFOW \PVUMJTUFOFS^FOESFTDVFCVJMEBCPSUFOErbenv_wrapper.rb
KQJCVJME
1.QMVHJOTQFD͔ΒQPNYNMΛੜ2.IQJϑΝΠϧΛੜ
KQJTFSWFS
QMVHJOΛಡΈࠐΜͩ+FOLJOTΛىಈ͢Δ
खಈςετ
KQJSFMFBTF
1.KFOLJOTDJPSHʹΞοϓϩʔυ͢Δ3.Ҿແ͠TOBQTIPU SFMFBTFΛ͚ΔͱQSPEVDUJPO2.dKFOLJOTDJPSHͷΞΧϯτใΛ༻
ͦͷଞ
UFTUVOJUPSSTQFDςετ
͑ͳ͍ͷͰ+BWBϥΠϒϥϦͰؤுΔrubygems
etchttps://github.com/jenkinsci/rvm-pluginhttps://github.com/hsbt/jenkins-rbenv-pluginhttps://github.com/takai/jenkins-hipchat-publisher-plugin
8SJUFZPVSQMVHJO