Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
JenkinsとPuppet+ServerspecでインフラCI / Jenkins Puppet Serverspec Infra CI
Shinya Tsunematsu
January 11, 2015
Technology
9
7.8k
JenkinsとPuppet+ServerspecでインフラCI / Jenkins Puppet Serverspec Infra CI
Jenkins ユーザ・カンファレンス 2015 東京 – セッション
Shinya Tsunematsu
January 11, 2015
Tweet
Share
More Decks by Shinya Tsunematsu
See All by Shinya Tsunematsu
tnmt
19
7.5k
tnmt
4
1.7k
tnmt
7
1k
tnmt
0
780
tnmt
0
150
tnmt
1
700
tnmt
8
11k
tnmt
0
310
tnmt
2
510
Other Decks in Technology
See All in Technology
layerx
1
940
saoritakita
0
350
ryusa
2
260
neo_analytics
1
1.1k
kyonmm
1
2.3k
takapi86
0
150
pinboro
0
2.3k
hisaichi5518
0
160
nkjzm
1
850
koba789
0
210
toshinoritakai
1
210
pinboro
1
1.7k
Featured
See All Featured
deanohume
295
27k
smashingmag
229
18k
jacobian
255
20k
sstephenson
144
12k
robhawkes
52
2.8k
imathis
478
150k
erikaheidi
13
4.2k
hatefulcrawdad
257
17k
maltzj
500
36k
samanthasiow
56
6.3k
cherdarchuk
71
260k
rasmusluckow
318
18k
Transcript
! 546/&."5464IJOZB +FOLJOTϢʔβɾΧϯϑΝϨϯε౦ژ +FOLJOTͱ 1VQQFU 4FSWFSTQFDͰ Πϯϑϥ$*
546/&."5464IJOZB !UONU IUUQCMPHUONUJOGP
None
None
IFUFNM IUUQIFUFNMKQ ̋ϔςϜϧ✕ϔϜςϧ ϩϦϙοϓʂ IUUQMPMJQPQKQ ʹ͙࣍Ϩϯλϧαʔ όʔϥΠϯφοϓ
େ༰ྔɾߴෛՙʹ͑͏Δ্ҐαʔϏεͱͯ͠ఏڙ ϦϦʔε ݄ݱࡏऑ
ܧଓత8FCαʔϏεվળΨΠυ ୈষɹΠϯϑϥߏཧͷվળʙ࣮αʔ ϏεͰͷྺ࢙͔ΒֶͿɼஈ֊తͳෛ࠴ ฦࡁ IUUQHJIZPKQEFWGFBUVSF XFCTFSWJDFHVJEF ࣥච࣌
ࠓ·Ͱߦ͖ͬͯͨࢪࡦͷ͏ͪͷҰͭ
1VQQFU $POpHVSBUJPO.BOBHFNFOU 'SBNFXPSL ߏཧπʔϧ *OGSBTUSVDUVSFBT$PEF ΠϯϑϥΛίʔυԽ͢Δ
ΠϯϑϥΛίʔυͰهड़͢Δ
1VQQFU ೖ1VQQFU IUUQCMPHLFOUBSPLPSHFOUSZ
1VQQFU طʹ΄΅શϩʔϧ ׂ ͷߏஙʹؔ ͯ͠ϚχϑΣετԽ͕͍ྃͯ͠Δ ࠷ॳ࡞Δ·Ͱׂͱେมͩͬͨ ৽نߏஙɾػೳՃʹ͓͚Δख͕ؒ
େ෯ʹܰݮ
࣌
None
None
ʊਓਓਓਓਓਓʊ ʼɹࢹʂʂɹʻ ʉ:?:?:?:?:ʉ
None
4FSWFSTQFD IUUQTFSWFSTQFDPSH NJ[[Z͞Μ IUUQTHJUIVCDPN NJ[[Z ࡞ αʔόͷঢ়ଶΛ؆ܿͳίʔυͰهड़ͯ͠
ςετ͢ΔͨΊͷΈ 34QFDͰهड़
ॕˑΦϥΠϦʔຊʢ௨শΞϗໟຊʣग़൛
ܶతϏϑΥʔΞϑλʔ CFGPSF 1VQQFUϚχϑΣετهड़ɾద༻ ࢹ֬ೝ BGUFS 4FSWFSTQFDͷςετهड़ʢ༷ͷܾఆʣ ༷Λຬͨ͢1VQQFUϚχϑΣετΛهड़ɾద༻ 4FSWFSTQFDͰঢ়ଶΛ֬ೝ
ॳొɺTQFDσΟϨΫτϦҎԼ͚ͩͰίϛοτ ͑ͯ͏ແͯ͘ͳΒͳ͍ɾҎલͲ͏͔ͯͨ͠ࢥ͍ग़ͤͳ͍Ϩϕϧ
4FSWFSTQFD׆༂γʔϯ দɿσΟετϦϏϡʔγϣϯͷόʔδϣϯΞοϓ 1VQQFUͰઃఆ͕ऩଋʢߏங͕ྃͨ͠ʣαʔόͷ ঢ়ଶʢͭ·Γ༷ʣΛ4FSWFSTQFDͰهड़ ͦΕΛຬͨ͢Α͏ʹ৽͍͠όʔδϣϯͷ04༻ͷ 1VQQFUϚχϑΣετΛ࡞
چɾ৽྆ํͷόʔδϣϯͷαʔόͰςετ͕௨Εɺ ༷Λຬ͍ͨͯ͠Δɾڍಈ͕Ұக͍ͯ͠Δͱݴ͑Δ
4FSWFSTQFD׆༂γʔϯ طଘϚχϑΣετͷϦϑΝΫλϦϯά ίϐϖίʔυͷ൙ཞɺϚχϑΣετͷϕ ετϓϥΫςΟεͷྲྀߦΓഇΓ มߋલޙͰ4FSWFSTQFDͷςετ݁Ռ ͕มΘΒͳ͍Α͏ڞ௨Խɾมߋɺෆཁ ෦ͷআͳͲΛਐΊΔ
ػೳՃɾϦϑΝΫλϦϯά࣌ʹා͍͜ͱ طʹ͋ΔఆٛͱόοςΟϯά͢Δ ෳϩʔϧʹ·͕ͨΔઃఆͷڞ௨ ԽΛਐΊΔ߹ ·ͨڞ௨ͷઃఆʹԿ͔߲Λ Ճ͢Δͱ͖
૯ϩʔϧ ͷଟগ͋Δ͕ɺ1VQQFUϚχ ϑΣετͰཧ͞Ε͍ͯΔαʔόϩʔ ϧʢׂʣΛ͑Δ ͜ΕΒͷαʔόʹ͍ͭͯɺϚχϑΣ ετͷมߋ͝ͱʹϩʔϧͷςε τΛ࣮ߦ͢Δͷۤߦ
+FOLJOT ֤ϩʔϧͷ4FSWFSTQFDςετΛ ͬͯΒ͓͏
$*ͷྲྀΕ 1VQQFUϚχϑΣετͷϦϙδτϦΛ ϙʔϦϯά NBTUFSʹϚʔδ͞Εͨ࣌ʹશϩʔϧͷ ςετΛ࣮ߦ 1VQQFUϚχϑΣετͷద༻
4FSWFSTQFDͰͷςετ
ᶃ1VQQFUϚχϑΣετ 4FSWFSTQFDςετ $PNNJU ᶄϙʔϦϯά ᶅ1VQQFUˍ 4FSWFSTQFD ࣮ߦ
ᶃ1VQQFUϚχϑΣετ 4FSWFSTQFDςετ $PNNJU
ϦϙδτϦߏ આ໌༻؆қ൛
ػೳՃɾมߋͷྲྀΕ TQFDϑΝΠϧมߋ TQFDNBJMCBS@TQFDSC ςετ࣮ߦ GBJMΛ֬ೝ
QVQQFUϚχϑΣετमਖ਼ɺઌड़ͷίϚϯυͰద༻ SPMFTNBJMNBOJGFTUTCBSQQ ςετ࣮ߦ ݁Ռ͕0,Ͱ͋ΕϚχϑΣετͱTQFDϑΝΠϧΛDPNNJU CVOEMFFYFDSBLFTQFDNBJM CVOEMFFYFDSBLFTQFDNBJM
(FNpMF ͱΓ͋͑ͣ4FSWFSTQFD͕هࡌ͞Ε ͍ͯΕ0, Y·ͩ͑ͯͳ͍ TPVSDFIUUQSVCZHFNTPSH ! HFNQVQQFU HFNTFSWFSTQFD
3BLFpMF 4FSWFSTQFD࣮ߦʹඞཁ όʔδϣϯҧ͏͕Y༻ઃఆʹ͍ͭͯϖύϘͰ͍ͬͯΔ ͷ͕ެ։͞Ε͍ͯΔͷͰͦͪΒΛࢀর l4FSWFSTQFDW༻3BLFpMFͱTQFD@IFMQFSSCͷհc CMPHUBLBIJSPPLVNVSBz
IUUQCMPHIJGVNJJOGPTFSWFSTQFDW SBLFpMFBOETQFDIFMQFS ͰNBJMϩʔϧͷςετ͕࣮ߦग़དྷΔ CVOEMFFYFDSBLFTQFDNBJM
7BHSBOUpMF ֤ϩʔϧ͝ͱͷ7.ΛఆٛɺྫNBJM ϩʔϧ7.Ҏ্Λఆٛ͢Δ ͭҎ্ͷ7.ྫ͑σΟετϦͷόʔ δϣϯ͝ͱʹ Ͱ࡞ͬͨΓ͢Δ
WBHSBOUTUBUVTͯ͠ಘΒΕΔ7.ͷҰཡ ͕ϩʔϧͷҰཡɺͱࢥͬͯΒͬͯྑ͍
SPMFTσΟϨΫτϦ ֤ϩʔϧͷ1VQQFUϚχϑΣετΛ ஔ͢Δ σΟϨΫτϦߏʹ͍ͭͯઌड़ͷ lೖ1VQQFUzΛࢀরͷ͜ͱ
TQFDσΟϨΫτϦ 4FSWFSTQFDͷTQFDϑΝΠϧΛஔ͢Δ ϩʔϧ͝ͱͷαϒσΟϨΫτϦ ྫ͑NBJMϩʔϧͰGPPQQ CBSQQͱ͍ ͏ϚχϑΣετΛ࡞ͨ͠߹ɺͦΕʹ ରԠ͢ΔGPP@TQFDSC
CBS@TQFDSC ҙຯͷ͋Δཻ୯ҐͰ࡞͍ͯ͠Δ
WBHSBOUσΟϨΫτϦ WBHSBOUؔ࿈Ͱ͏ϑΝΠϧΛ·ͱ Ί͍ͯΔ QVQQFUBQQMZTI CJOTI ! QVQQFUBQQMZa NPEVMFQBUIWBHSBOUSPMFTWBHSBOUNPEVMFTa
TIPX@EJ⒎WFSCPTFa WBHSBOUNBOJGFTUTTJUFQQ!
NBJMͷ1VQQFUϚχϑΣετద༻ WBHSBOUTTINBJMDa TVEPWBHSBOUWBHSBOUQVQQFUBQQMZTI
ػೳՃɾมߋͷྲྀΕʢ࠶ܝʣ TQFDϑΝΠϧมߋ TQFDNBJMCBS@TQFDSC ςετ࣮ߦ GBJMΛ֬ೝ
QVQQFUϚχϑΣετमਖ਼ɺઌड़ͷίϚϯυͰద༻ SPMFTNBJMNBOJGFTUTCBSQQ ςετ࣮ߦ ݁Ռ͕0,Ͱ͋ΕϚχϑΣετͱTQFDϑΝΠϧΛDPNNJU CVOEMFFYFDSBLFTQFDNBJM CVOEMFFYFDSBLFTQFDNBJM
ᶄϙʔϦϯά ᶅ1VQQFUˍ 4FSWFSTQFD ࣮ߦ
$*αʔό༷ -JOVY σΟετϦͳΜͰྑ͍ ؾ͍ͮͨΒ6CVOUVͷαʔό͕͍ͨ +FOLJOT
ཁ(JU1MVHJO 7JSUVBM#PY WBHSBOU
+FOLJOTδϣϒ ֤ϩʔϧ͝ͱʹδϣϒΛ࡞
None
+FOLJOTδϣϒ ׂͱૉ Ϗϧυͷ෦ʹࢦఆ͍ͯ͠ΔzγΣϧ ͷ࣮ߦz͕؊ CJOTI WBHSBOUSVOQVQQFUBOETFSWFSTQFDTINBJM
Ϗϧυ༰ CJOTI WBHSBOUSVOQVQQFUBOETFSWFSTQFDTINBJM ϦϙδτϦʹίϛοτͯ͋͠ΔγΣ ϧεΫϦϓτ 1VQQFU࣮ߦɺ4FSWFSTQFDςετ Λ࣮ߦ͢Δ
Ϗϧυ༰ৄࡉ WNىಈ
Ϗϧυ༰ৄࡉ 1VQQFUద༻ QVQQFUBQQMZͷΦϓγϣϯ δϣϒͷίϯιʔϧදࣔ༻ʹΧϥʔΛP⒎ εΫϦϓτͰ༻͢ΔͨΊɺFYJUίʔυΛৄࡉ ʹ͢Δ
Ϗϧυ༰ৄࡉ 1VQQFUద༻ ߏཧπʔϧద༻ͷॱংΛอূ ͠ͳ͍ҝ
Ϗϧυ༰ৄࡉ 4FSWFSTQFD࣮ߦ ͪ͜͜ΐͬͱΠέͯͳ͍ͷͰमਖ਼ ͷඞཁ༗Γʜ
Ϗϧυ༰ৄࡉ ޙย͚ɺϏϧυऴྃ
ޙδϣϒΛϩʔϧ४උ͢Δ͚ͩ NBTUFSʹNFSHF͞Εͨͱ͖ʹ֤ ϩʔϧͰϦάϨογϣϯ͕ى͖ͳ͍ ͔Ͳ͏͔ʹ͍ͭͯ͜Ε͚ͩͰ֬ೝ ͕Մೳ ڞ௨Ͱࢀর͍ͯ͠Δ߲ͷมߋ͕ ͘͢͠ͳΔ
ίϥϜ%PDLFS͍ͬͯͳ͍ʁ %PDLFSͷํ͕ܰྔͰ$*͖Ͱ͋Δ ϔςϜϧΦϯϓϨˍԾԽແ͠ͰαʔόΛӡ ༻͍ͯ͠Δ ΑΓ࣮ػͷڥʹ͍ۙ7JSUVBM#PYͰͷશԾ Խͳ7.ͷํ͕߹͕ྑ͍
ϖύϘࣾͰ!VE[VSB͕EPDLFSΛͬͨ Πϯϑϥ$*ΛਐΊ͍ͯͨΓ͢Δ
ϋϚͬͨʢϋϚ͍ͬͯΔʣ͜ͱ ޙย͚࣌ͷ WBHSBOUEFTUSPZGPSDF Ͱฒߦ࣮ͯ͠ߦ͞Ε͍ͯΔδϣϒͷ7.͕ಓ࿈Εʹ ͳΔ -JOVYͷΈͰى͖͍ͯΔɺૉৼΓ༻ͷࣗͷ .BD্Ͱ࠶ݱ͠ͳ͍
ผͷษڧձͰ૬ஊͨ͠ͱ͜Ζɺ,7.ͰࣅͨΑ͏ ͳ͜ͱ͕͋Δͱͷ͜ͱ
ϋϚͬͨʢϋϚ͍ͬͯΔʣ͜ͱ +FOLJOTͷ1SPDFTT5SFF,JMMFSลΓ͔ͳͱࢥͬͯ ͍Δ IUUQTXJLJKFOLJOTDJPSHEJTQMBZ +&/,*/41SPDFTT5SFF,JMMFS lBTLUIFTQFBLFSzͰɹ!LPITVLFLBXB͞Μ ʹ࣭ग़དྷͨͷͰ͏গ͠ݟͯΈΑ͏
ࣅͨ͜ͱͬͯΔΑͱ͍͏ਓใڞ༗͠·͠ΐ͏
͜Ε͔ΒΓ͍ͨ͜ͱɾग़དྷ͍ͯͳ͍͜ͱ 1VMM3FRVFTU࣌ʹ֘ϩʔϧͰΠϯϑϥ$* ࠓNBTUFSͷΈͳͷͰ 1VMM3FRVFTUͷϒϥϯνͰಉ༷ͷ͜ͱΛΓͨ ͍ +FOLJOTʹͲ͏͍͏෩ʹϩʔϧΛͯ͠Δ͔͕
ϙΠϯτͦ͏ +FOLJOTͷ1VMM3FRVFTU#VJMEFS1MVHJO
͜Ε͔ΒΓ͍ͨ͜ͱɾग़དྷ͍ͯͳ͍͜ͱ ςετ͕௨ͬͨΒ*OUFHSBUJPOڥ ʹ1VQQFUద༻ ֤εςʔδͰͷ4FSWFSTQFDఆظ࣮ ߦ
͜Ε͔ΒΓ͍ͨ͜ͱɾग़དྷ͍ͯͳ͍͜ͱ ͏͢͜͠+FOLJOTXBZͰ$* ݱঢ়ϏϧυεΫϦϓτຕ ͬͱϓϥάΠϯͬͨΓ ࡉ͔͍δϣϒΛͭͳ͛ͨΓ
+FOLJOTҎ֎ͰͷςετۦಈΠϯϑϥˍ$*ྫ lαʔόΠϯϑϥపఈ߈ུz ಛूlςετۦಈΠϯϑϥ ˍ$*࠷લઢ*OGSBTUSVDUVSF BT$PEF͕ͨΒ͢ϫʔΫϑ ϩʔͷ৽z 8FSLFS
%JHJUBM0DFBO
·ͱΊ *OGSBTUSVDUVSFBT$PEF ίʔυԽग़དྷָͯʹͳͬͨ Πϯϑϥ$* ͋Δͱ҆৺ͯ͠࡞ۀग़དྷΔ
ͬͱָ͍ͨ͠ɺ҆৺͍ͨ͠ ʢ͋ͱग़དྷΕʣͬͱڧ͍$*αʔό͕ཉ͍͠
None
ΤϯδχΞੵۃ࠾༻த IUUQQFQBCPDPNSFDSVJUQFQBMVODIFPO