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
1.7k
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
Tweet
Share
More Decks by innossh
See All by innossh
NginxとELBの罠
innossh
1
960
Other Decks in Technology
See All in Technology
5min GuardDuty Extended Threat Detection EKS
takakuni
0
130
GitHub Copilot の概要
tomokusaba
1
130
How Community Opened Global Doors
hiroramos4
PRO
1
110
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
150
Github Copilot エージェントモードで試してみた
ochtum
0
100
Snowflake Summit 2025全体振り返り / Snowflake Summit 2025 Overall Review
mtpooh
2
390
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
29
11k
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
110
BrainPadプログラミングコンテスト記念LT会2025_社内イベント&問題解説
brainpadpr
1
160
PHPでWebブラウザのレンダリングエンジンを実装する
dip_tech
PRO
0
200
IIWレポートからみるID業界で話題のMCP
fujie
0
790
監視のこれまでとこれから/sakura monitoring seminar 2025
fujiwara3
11
3.9k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.3k
Why You Should Never Use an ORM
jnunemaker
PRO
57
9.4k
GitHub's CSS Performance
jonrohan
1031
460k
Being A Developer After 40
akosma
90
590k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
4 Signs Your Business is Dying
shpigford
184
22k
For a Future-Friendly Web
brad_frost
179
9.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Visualization
eitanlees
146
16k
Agile that works and the tools we love
rasmusluckow
329
21k
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