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
GraphQL の onError と Nullability のこれから
quramy
0
200
Next.js: The final boss of Web Performance
guaca
0
360
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
530
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
220
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
130
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
100
SODA - FACT BOOK(JP)
sodainc
1
40k
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.1k
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
320
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
190
R8 の設定見直しでアプリサイズ削減
andpad
0
240
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
140
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
870
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Balancing Empowerment & Direction
lara
6
1.3k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
960
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
440
Odyssey Design
rkendrick25
PRO
2
900
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
HDC tutorial
michielstock
2
990
Google's AI Overviews - The New Search
badams
0
1.6k
WCS-LA-2024
lcolladotor
0
940
Darren the Foodie - Storyboard
khoart
PRO
4
4k
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Ͱͬͯ͠·͏ͱ͍͏ख͋Δ ڥߏஙΛࣗಈԽ͢Δʹ
ࣗಈԽ͕͋Δͱ͖ʂ
ͳ͍ͱ͖ʜ
ख࡞ۀΛল͍ͯ ϋοϐʔϥΠϑΛʂ