Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JenkinsとPuppet+ServerspecでインフラCI / Jenkins Pupp...
Search
Shinya Tsunematsu
January 11, 2015
Technology
9
8.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
GMOペパボでのSREの実践 / SRE Practices of GMO Pepabo, Inc.
tnmt
3
4.7k
ペパボサービスインフラの今までこれから / pepabo infra past and future
tnmt
3
670
知らなかった、時に困るWebサービスのセキュリティ対策 / Where Do We Start With Information Security?
tnmt
19
9.4k
IaaSをいじっている人が PaaSについて考えたこと / Should We Prepare Own PaaS?
tnmt
5
2.2k
成長を支援する “ふりかえり”の技術 / How to lockback using "furik"
tnmt
7
1.7k
こんにちわ福岡 / hello-fukuoka
tnmt
0
1.2k
Inside Nyah & Future - A case of "Private Cloud" using OpenStack -
tnmt
0
270
OpenStackクラスタ間マイグレーション事例 Havana to Mitaka / OpenStack Migration Case (Shift from Havana to Mitaka)
tnmt
1
1.1k
ペパボのプライベートクラウド "Nyah" その後 / Pepabo's PrivateCloud "Nyah" After That
tnmt
8
13k
Other Decks in Technology
See All in Technology
SpringBoot x TestContainerで実現するポータブル自動結合テスト
demaecan
0
110
Snowflake Summit 2025全体振り返り / Snowflake Summit 2025 Overall Review
mtpooh
2
430
asken AI勉強会(Android)
tadashi_sato
0
130
OpenHands🤲にContributeしてみた
kotauchisunsun
1
490
Geminiとv0による高速プロトタイピング
shinya337
0
170
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
1.2k
PHPでWebブラウザのレンダリングエンジンを実装する
dip_tech
PRO
0
210
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
2
650
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
4
3.1k
mrubyと micro-ROSが繋ぐロボットの世界
kishima
2
380
OPENLOGI Company Profile
hr01
0
67k
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
420
Featured
See All Featured
A designer walks into a library…
pauljervisheath
207
24k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Designing for Performance
lara
609
69k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Why Our Code Smells
bkeepers
PRO
337
57k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Adopting Sorbet at Scale
ufuk
77
9.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
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