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
君の開発環境再現できる?~ローカルで始めるAnsible入門~ / An Introducti...
Search
Pudding
June 29, 2018
Programming
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
君の開発環境再現できる?~ローカルで始めるAnsible入門~ / An Introduction of Ansible
複雑怪奇な魔界となってしまいがちな開発環境を,プロビジョニングツールを使ってちゃんと管理したくないですか?という話
Pudding
June 29, 2018
More Decks by Pudding
See All by Pudding
GNU Make勉強会 / GNU Make Exercise
pddg
2
11k
雑に覚えるVim / Vim Tutorial
pddg
0
120
中古PCのススメ/The fundamentals of used PC
pddg
1
110
もっと気楽にいきましょうって話 / Make more relax
pddg
4
2.4k
アイデアの卵と動かざる手 / Do you have something to do to realize your idea?
pddg
0
250
Docker Seminar for SEL@KIT
pddg
0
150
進学先を間違ったなと思ったら / I made a mistake in my path
pddg
0
170
なぜ平文パスワードはNGなのか / Why are plain passwords evil?
pddg
1
240
Mizql Map @ KITハッカソン2018 by ツナ缶 / Mizql Map
pddg
0
150
Other Decks in Programming
See All in Programming
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
550
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
120
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
速習iPhone Duo対応
yuukiw00w
2
980
Simple Storage Service(S3) is not simple
iwatsukayura
0
250
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
22
22k
golang-bob.pdf
iwatsukayura
0
120
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
220
Are APIs Still Relevant in the AI Era?
soyuka
0
450
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
970
残高管理から台帳サービスへの進化
artoy
0
180
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
150
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
41k
How to Talk to Developers About Accessibility
jct
2
570
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Navigating Weather and Climate Data
rabernat
0
550
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Crafting Experiences
bethany
1
380
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
430
The SEO identity crisis: Don't let AI make you average
varn
0
580
Transcript
君の 開発環境 できる? ʙϩʔΧϧͰ࢝ΊΔ"OTJCMFೖʙ
Ctrl+C Ctrl+V
None
յΕͨ ৽ௐͨ͠
ʁʁʁʁʁʁ Ͳ͏ΔΜ͚ͩͬ ʁʁʁʁʁʁ
ߏཧ͠Α͏ʂ
ίϯϐϡʔλγεςϜͷจ຺ʹ͓͍ͯ ˔ ΠϯϑϥʢωοτϫʔΫɼΫϥυʣཧ ˔ 04ͷઃఆ ˔ ϛυϧΣΞͷΠϯετʔϧ ˔ ϛυϧΣΞͷઃఆ ˔
ιϑτΣΞͷґଘؔղফ ˔ ιϑτΣΞӡ༻ͷࡍͷઃఆ ͳͲΛߦ͏͜ͱ ߏཧͱ
˔ υΩϡϝϯτΛͯ͠ίϐϖʢϒϩάͱ͔ʣ ˓ ίϐϖϛεͨ͠Βʜʁ ˓ ͕૿͑ͨΒʜʁ ˔ γΣϧεΫϦϓτ ˓ จࣈྻͷૢ࡞͕ͱʹ͔ͭ͘Β͍ʢTFEͱBXLͰʜʁʣ
˓ ෳճ࣮ߦͨ͠Βʜʁ ˓ ͕૿͑ͨΒʜʁ ࣗಈԽʜʁ
None
˔ ରϚγϯͷ͋Δ͖ঢ়ଶΛهड़͢Δ º ʮ˘˘ΛΠϯετʔϧ͢Δʯʮ˚˚Λઃఆ͢Δʯ ˓ ʮ˘˘͕Πϯετʔϧ͞Ε͍ͯΔʯʮ˚˚Ͱ͋Δʯ ˔ ΤʔδΣϯτϨε ˓ ରͷϚγϯʹ1ZUIPO͕ೖ͍ͬͯΕ0,
˔ ႈੑ ˓ ͋Δૢ࡞ΛҰճߦͬͯෳճߦͬͯ݁Ռ͕ಉ͡ ˓ ʢͨͩ͠"OTJCMF͕อূ͢ΔൣғͷΈʣ ˔ ZBNMͰهड़͢Δ ˓ ϓϩάϥϛϯάࣝෆཁʢෆཁͱݴͬͯͳ͍ʣ "OTJCMFͷಛ
˔ ΤʔδΣϯτͱɼઃఆΛ ࣮ߦ͢ΔιϑτΣΞ ˔ "OTJCMF44)ͱ1ZUIPOΛ ༻ ˓ ϗετ্ͷ1ZUIPO͕࣮ߦ ˓ ओཁͳ-JOVYσΟετϦϏϡʔ
γϣϯʹجຊతʹ1ZUIPO ·͕ͨଘࡏ ˓ ࣮࣭ΤʔδΣϯτϨε ˓ ϩʔΧϧͰQZUIPO͕ ͋Εಈ͘ ΤʔδΣϯτϨε 44) ΫϥΠΞϯτ ϗετ
˔ IPHFDPOGʹ4&$3&5IPHFͱॻ͖ࠐΈ͍ͨ ˔ ͍Ζ͍Ζͳํ๏͕͋Δ ˓ FDIPͰه ˓ DBUͰॻ͖ࠐΈ ˓ ͦͦॻ͖ࠐΜͰ͓͍ͨͷΛίϐʔ
ႈੑ $ echo "SECRET=hoge" >> hoge.conf $ echo "SECRET=hoge" | tee hoge.conf $ cat << EOF >> hoge.conf SECRET=hoge EOF $ cp hoge.conf /path/to/hoge.conf
IPHFDPOG ˔ ෳճ࣮ߦͨ͠Βʜʁ ႈੑ ˔ ႈͰ͋Δͱ͍͏͜ͱɼҰճͷ࣮ߦͰෳճ ͷ࣮ߦͰ݁Ռ͕มΘΒͳ͍͜ͱ IPHFDPOG 4&$3&5IPHF IPHFDPOG
IPHFDPOG 4&$3&5IPHF 4&$3&5IPHF 4&$3&5IPHF ճ ճ IPHFDPOG IPHFDPOG 4&$3&5IPHF IPHFDPOG IPHFDPOG 4&$3&5IPHF 4&$3&5IPHF ճ ճ
˔ γΣϧεΫϦϓτͰอূ͢Δͷ͍͠ ˓ ͦͷΈΛߟ͑Δ͚ͩͰͭΒ͍ ˔ هͰͳ্͘ॻ͖ʹ͢Ε͍͍ͷͰʜʁ ˓ ඞཁͳઃఆΛશͯهड़͢Δඞཁ͕ग़ͯ͘Δ ˓ ߋ৽࣌มߋ͞Εͯ͠·͏
˔ "OTJCMFͰMJOFJOpMFϞδϡʔϧ͕͑Δ ˓ طʹͦͷߦ͕ଘࡏ͢Δ߹ɼه͠ͳ͍ ˓ ͪΖΜߋ৽࣌มߋ͞Εͳ͍ ˓ ࣮ߦ͢Δʹک͑ͳͯ͘ࡁΉ ႈੑ
˔ ΄Ͳ͋ΔΒ͍͠ʁʢʣ ˔ جຊతͳૢ࡞ ˓ pMFɿϑΝΠϧɾσΟϨΫτϦͷૢ࡞ ˓ DPQZɿϑΝΠϧͷίϐʔ ˓ TIFMMɿγΣϧεΫϦϓτͷ࣮ߦ
˔ ύοέʔδཧ ˓ BQUɾCSFXɾZVNɾDIPDPɾQBDNBOʜ ˔ Ϋϥυ ˓ "84ɾ"[VSFɾ($1ʜ "OTJCMFNPEVMFT
ZBNM - block: - name: Obtain ubuntu code name shell:
lsb_release -cs register: ubuntu_codename changed_when: False - name: Create apt list dir file: path: /etc/apt/sources.list.d state: directory owner: root become: yes - name: Add IIJ and JAIST server to apt li template: src: 'templates/{{ item }}.list' dest: '/etc/apt/sources.list.d/{{ item owner: root become: yes with_items: - iij - jaist - name: Install python-apt package pip: name: python-apt become: yes tags: apt_add ˔ ઃఆϑΝΠϧͱͯ͠ ଟ͘࠾༻͞Ε͍ͯΔ ˔ Մಡੑ͕ൺֱతߴ͘ɼ ͍֮͑͢จ๏ ʢ΄Μ·͔ʣ ˔ ๛ͳઃఆྫ͕ωοτ ্ʹ͋Δ
"OTJCMF1MBZCPPL 1MBZCPPLʢFY։ൃڥߏஙʣ 3PMFʢFYWJNʣ 5BTL 5BTL FYΠϯετʔϧ .PEVMF .PEVMF FYWJNSDஔ .PEVMF
.PEVMF .PEVMF .PEVMF 5BTL 5BTL 5BTL 5BTL 3PMF 3PMF
˔ ࠷ॳʹ"OTJCMFΛΠϯετʔϧ͢ΔͷࣗಈԽ ͢Δͷ͘͠ͳ͍ ˓ γΣϧεΫϦϓτͰ͍͍ͩͨԿͱ͔ͳΔ ˔ .BDͰ"EPCFɼ.40⒏DFΛআ͍ͨ΄΅શͯ ˓ ޙ্ཱͪ͛ͯϩάΠϯ͢Δ͚ͩͳͲ͕ଟ͍ ˓
1MBZCPPLΛ࣮ߦͯ࣌ؒ͠΄Ͳ͚ͭͩ ˔ 6CVOUVͰ(6*ΞϓϦέʔγϣϯҎ֎ ˓ +FUCSBJOTͷ*%&ͱ͔ ˔ 8JOEPXT༻ͷϞδϡʔϧ͋Δʹ͋Δ ˓ 84-ͷ6CVOUVͷηοτΞοϓ͔ͯ͠͠ͳ͍ ࠓͷͱ͜ΖࣗಈԽ͍ͯ͠Δͷ
˔ ։ൃڥߏஙָ͕ʹͳΔ ˓ Ҿ͖ܧ͗ʹ͑Δ ˔ ڥ͕ݪҼͷόάͷ࠶ݱΛ औΓ͍͢ ˓ ಉҰͷڥͷ෮ݩ͕༰қ ˔
ཧղͷ্ ˔ Ϋϥυద༻͢Δ࿅श ˓ ຊདྷͷతଟͷϗετͷཧ ˓ ϩʔΧϧͰ͍ํΛֶͿ͜ͱ ൺֱతϋʔυϧ͕͍ ࣗಈԽͯ͠Կ͕خ͍͠ͷʁ
˔ ීஈԿؾͳ࣮͘ߦ͍ͯ͠ΔίϚϯυͷҙຯΛ ߟ͑Δඞཁ͕ग़ͯ͘Δ ˓ zԿΛz࣮ߦ͢Δ͔ΑΓzͳͥz࣮ߦ͢Δͷ͔ ˔ ͍͔ʹखΛಈ͔͞ͳ͍͔ ˓ UPVDIBOEUSZ͠ͳ͍ͱ͍͏ҙຯͰͳ͍ ˓
खಈͰઃఆ͍ͯ͠Δ߲ΛͰ͖Δ͚ͩίʔυʹ͢Δ ˓ (6*ఢ ˔ ࠷ॳ͔Β"OTJCMFͰͬͯ͠·͏ͱ͍͏ख͋Δ ڥߏஙΛࣗಈԽ͢Δʹ
ࣗಈԽ͕͋Δͱ͖ʂ
ͳ͍ͱ͖ʜ
ख࡞ۀΛল͍ͯ ϋοϐʔϥΠϑΛʂ