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
990
Other Decks in Technology
See All in Technology
許しとアジャイル
jnuank
1
130
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
150
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
1
450
Where will it converge?
ibknadedeji
0
190
【Oracle Cloud ウェビナー】クラウド導入に「専用クラウド」という選択肢、Oracle AlloyとOCI Dedicated Region とは
oracle4engineer
PRO
3
110
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
360
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
130
GA technologiesでのAI-Readyの取り組み@DataOps Night
yuto16
0
270
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
120
業務自動化プラットフォーム Google Agentspace に入門してみる #devio2025
maroon1st
0
190
LLM時代にデータエンジニアの役割はどう変わるか?
ikkimiyazaki
1
520
extension 現場で使えるXcodeショートカット一覧
ktombow
0
210
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Making Projects Easy
brettharned
119
6.4k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Statistics for Hackers
jakevdp
799
220k
Bash Introduction
62gerente
615
210k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Practical Orchestrator
shlominoach
190
11k
Faster Mobile Websites
deanohume
310
31k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
A better future with KSS
kneath
239
17k
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