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
AnsibleとAWXでレガシーな本番環境デプロイを1-Click実行 / LT - Ansi...
Search
innossh
December 21, 2017
Technology
1.7k
1
Share
AnsibleとAWXでレガシーな本番環境デプロイを1-Click実行 / LT - Ansible Night in Tokyo 201712
Ansible Night in Tokyo 2017.12
https://ansible-users.connpass.com/event/71613/
innossh
December 21, 2017
More Decks by innossh
See All by innossh
NginxとELBの罠
innossh
1
1k
Other Decks in Technology
See All in Technology
データ基盤構築・運用の現場から 〜 Snowflake Intelligence 導入で変わった、データ活用の未来 〜
wonohe
0
170
ソフトウェアサプライチェーン攻撃対策として今からサクッとできること
flatt_security
2
130
Python開発環境にハーネス適用を検討する
yuuka51
1
500
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
3
770
Node.js+TypeScriptにおけるCJS/ESM相互運用の最新ポイント
grainrigi
2
120
GitHub Copilot CLI で考える複数エージェント設計
tomokusaba
0
170
AI Agent に“攻略本”を渡したら、150フォームの移行が回り始めた話/登壇資料(高橋 悟生)
hacobu
PRO
1
430
ルール・ロール・ツールを創る / Creating Rules, Roles and Tools
ks91
PRO
0
160
Typiaで配信JSONの安全性を構造的に担保する(TSKaigi2026)
righttouch
PRO
1
160
権限管理設計を完全に理解した
rsugi
1
200
TSKaigi 2026 - Auth.jsからBetter Authへの 移行に見る「型とランタイム」の 設計思想の変化
teamlab
PRO
1
260
情シスがMCP環境導入時に打ちのめされる認可の崖
oidfj
0
440
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Done Done
chrislema
186
16k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
110
Amusing Abliteration
ianozsvald
1
180
Evolving SEO for Evolving Search Engines
ryanjones
0
200
New Earth Scene 8
popppiees
3
2.3k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
700
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Side Projects
sachag
455
43k
Transcript
$MJDL࣮ߦ ϨΨγʔͳຊ൪ڥσϓϩΠΛ
‣ !JOOPTTI ‣ ,JJ*P5ΫϥυϓϥοτϑΥʔϜ ‣ ιϑτΣΞΤϯδχΞ %FW0QT ࣗݾհ
,JJ$MPVE ͔ΒαʔϏε։࢝
ϨΨγʔͱϞμϯ
ϨΨγʔ Ϟμϯ &$ &$ &$ &$
ͷൿͷखॱॻ ͱ࡞ۀͷଐਓԽ
‣ Ϛωʔδϝϯτίϯιʔϧ͔Βϩʔυόϥϯ αʔΓ͠Ճ ‣ ϗετʹ44)ϩάΠϯ ‣ QVQQFUͰࠩ֬ೝͱߋ৽ ‣ ࠩ݁ՌΛ4MBDLͳͲͰڞ༗ ‣
&&ςετΛ+FOLJOTͰ࣮ߦ ‣ ʜ
ͭΒ͍ʗ ?P? ʘ
ࣗಈԽ͍ͨ͠
"OTJCMFͱ"89Ͱ $MJDL࣮ߦ σϓϩΠ
lϩʔυόϥϯα͔Β ͷΓ͠ͷࣗಈԽʁ
FMC@JOTUBODFϞδϡʔ ϧͰͰ͖ΔΑ XBJU@GPSϞδϡʔϧศར
- name: Wait for instance port to close active connections
wait_for: host: 0.0.0.0 port: "{{ instance_port }}" delay: 10 sleep: 10 # check every 10 seconds state: drained timeout: 300 exclude_hosts: 127.0.0.1
l+FOLJOT্ͷ&& ςετ࣮ߦͷࣗಈԽʁ
lҰ෦ͷ&&ςετ͕ࣦ ഊ͢Δ͜ͱ͕͋Δɻ ෦తʹϦτϥΠ͍ͨ͠
UBTLͷSFUSZΦϓγϣϯɺ ͍CMPDLSFTDVFͰɺɺ Ͱ͖ͳ͍ͳʜ͙͵͵
JODMVEF@UBTLTʹมΛ ͯ͠ϧʔϓͤ͞Α͏
- name: Get E2E test report uri: url: "{{ e2e_job_url
}}/ {{ e2e_result_build_number }}/testReport/api/ json" method: GET user: "{{ e2e_jenkins_user }}" password: "{{ e2e_jenkins_api_token }}" force_basic_auth: yes status_code: - 200 register: e2e_test_report
- set_fact: e2e_failed_tests: "{{ e2e_test_report.json | json_query(failed_tests_query) }}" vars: failed_tests_query:
"suites[*].cases[? status=='REGRESSION'||status=='FAILED'].className" - set_fact: e2e_retry_tests: "{{ e2e_retry_tests | default([]) + [item] }}" with_flattened: - "{{ e2e_failed_tests }}" - set_fact: e2e_partial_retry_numbers: "{{ e2e_partial_retry_numbers | default([]) + [ item ] }}" with_sequence: count="{{ e2e_partial_retry_count | int }}"
- name: Retry E2E partially include_tasks: e2e-partial.yml e2e_partial_parameter={{ item.1 }}
with_nested: - "{{ e2e_partial_retry_numbers }}" - "{{ e2e_retry_tests }}"
ϨΨγʔͳσϓϩΠͷ QMBZCPPLԽ น͕ଟ͍͚ΕͲ
"OTJCMFͳΒ ෳࡶͳॲཧͰ :".-Ͱγϯϓϧʹ
QMBZCPPL࡞ͬͨΒ "89Λ༻ҙ͢Δ͚ͩ
None
ߦ͑ʂ
σϓϩΠ݁Ռ͕ϒϥβͰ ֬ೝͰ͖ͯڞ༗͍͢͠
ϨΨγʔڥͷσϓϩ ΠΛࣗಈԽͨ݁͠Ռ
ଐਓԽ͠ͳ͍σϓϩΠ ͕Մೳʹ
ͤʁ
‣ ෳࡶͳ࡞ۀͷࣗಈԽͰ"OTJCMFͳΒ :".-Ͱॻ͚ͯγϯϓϧ ‣ ༷ʑͳQMBZCPPL࣮ߦΛ"89Ͱதԝू ݖԽ ‣ ϨΨγʔڥ"OTJCMFͱ"89Ͱଐਓ Խͷഉআɺ$MJDLσϓϩΠ ·ͱΊ
ΤϯδχΞืू͍ͯ͠·͢ʂIUUQTKQLJJDPNSFDSVJU