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
環境構築を自動化したい@wakayama.rb#32 / automatival enviro...
Search
KamataRyo
April 10, 2016
Programming
0
170
環境構築を自動化したい@wakayama.rb#32 / automatival environment building @wakayama.rb#32
wakayama.rb#32で話題提供やデモンストレーションを行った、Ansible、Serverspec、Travis CIについてのスライドです。
KamataRyo
April 10, 2016
Tweet
Share
More Decks by KamataRyo
See All by KamataRyo
TileCloud の開発を支える技術
kamataryo
2
360
NPX-shell-hacking
kamataryo
0
44
frontend-shikoku#1
kamataryo
1
680
Introducing of Map Warper
kamataryo
0
1.3k
wp-rest-api-and-amazon-polly
kamataryo
0
940
how-to-deploy-from-travis-ci
kamataryo
1
750
IoT with React
kamataryo
1
270
wacker#17-wreact
kamataryo
0
130
wakayamarb#37
kamataryo
1
88
Other Decks in Programming
See All in Programming
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
230
Androidアプリの One Experience リリース
nein37
0
1.2k
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
180
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
26
6k
ASP.NET Core の OpenAPIサポート
h455h1
0
120
asdf-ecspresso作って 友達が増えた話 / Fujiwara Tech Conference 2025
koluku
0
1.4k
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
140
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
100
はてなにおけるfujiwara-wareの活用やecspressoのCI/CD構成 / Fujiwara Tech Conference 2025
cohalz
3
2.8k
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
1.9k
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
4
390
Rubyでつくるパケットキャプチャツール
ydah
0
180
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
RailsConf 2023
tenderlove
29
970
GraphQLとの向き合い方2022年版
quramy
44
13k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
A designer walks into a library…
pauljervisheath
205
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Optimising Largest Contentful Paint
csswizardry
33
3k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Transcript
ڥߏஙΛࣗಈԽ͍ͨ͠ Ansible, Serverspec & TravisCI — Infrastructure as Code !3VCZษڧձ!Վࢁ
πʔϧɺαʔϏεհ w "OTJCMFIUUQXXXBOTJCMFDPN w 4FSWFSTQFDIUUQTFSWFSTQFDPSH w 5SBWJT$*IUUQTUSBWJTDJPSH ͜ΕΒΛͬͯΓ͍ͨ͜ͱʢ࣮ݧதʣ τϐοΫε
αʔόߏஙͷखॱͷநԽ w खॱॻʁ ղͳυΩϡϝϯτ͕ࢁੵΈʹ w ϓϩϏδϣχϯά༻ͷγΣϧεΫϦϓτʁ ॊೈੑɺεέʔϥϏϦςΟͳͲͰ͋Γʁ
"OTJCMF w αʔόͷߏཧπʔϧ w ΤʔδΣϯτϨεͰಈ࡞ ʢϗετͰ1ZUIPO͕ಈ͚0,ʣ w ͦͷଞͷߏཧπʔϧ$IFGɺ1VQQFU w αʔόͷߏΛίʔυͱͯ͠هड़ʢ:".-ܗࣜʣ
"OTJCMFQMBZCPPLͷྫ # playbook.yml # CentOSͷྫ --- - name: playbookͷྫ hosts:
wakayamarb.org:22 remote_user: kamata become: yes tasks: - name: add a user user: name=user password=pass - name: install apache yum: name=hatted - name: enable apache service: name=httpd state=started enabled=yes
"OTJCMFͷσϞϯετϨʔγϣϯ VagrantͰ࡞ͨ͠ԾϚγϯʹରͯ͠ద༻ͯ͠Έ·͢
4FSWFSTQFD w αʔόͷߏͷςεςΟϯάϑϨʔϜϫʔΫ w 3VCZɺ34QFD͕ϕʔε
4QFDϑΝΠϧͷྫ # server_spec.rb # kamataϢʔβ͕ଘࡏ͢Δ describe user('kamata') do it {
should exist } end # ඞཁͳaptύοέʔδ͕Πϯετʔϧ͞Ε͍ͯΔ apt_packages = %w{ ufw apache2 postgresql-server } apt_packages.each do |pkg| describe package(pkg) do it { should be_installed.by('apt') } end end
4FSWFSTQFDͷσϞϯετϨʔγϣϯ wakayamarbαʔόʹରͯ͠ద༻ͯ͠Έ·͢
w $*ʢܧଓతΠϯςάϨʔγϣϯʣࢧԉαʔϏε w (JUIVCͳͲʹϗετ͞ΕͨΦʔϓϯιʔεϓϩδΣΫτ ͳΒɺແྉͰ༻ग़དྷΔ 5SBWJT$*
QVTI DMPOF UFTU ϏϧυɾςετࣗಈԽπʔϧ
5SBWJT$*ͷσϞϯετϨʔγϣϯ ςετͰ࡞ͨ͠nodeύοέʔδʹద༻ͯ͠Έ·͢
Γ͍ͨ͜ͱ ࣮ݧத ʔςετɾσϓϩΠͷࣗಈԽ
ܧଓతͳϦϑΝΫλɾςετɾϏϧυ QVTI DMPOF 4FSWFSTQFD "OTJCMF XBLBZBNBSCαʔό ϦϑΝΫλ ʔαʔόߏ$*ʹ
w 5SBWJT͔ΒXBLBZBNBSCͷΞΫηε w ଟஈ44) ϙʔτϑΥϫʔσΟϯάʁ w Ή͠Ζϗετ͕(JUIVC͔ΒQVMMͯ͘͠Δ͖ʁ w 伴ཧͷϙϦγʔʁ