Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
AnsibleとAWXでレガシーな本番環境デプロイを1-Click実行 / LT - Ansible Night in Tokyo 201712
innossh
December 21, 2017
Technology
1
1.5k
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
640
Other Decks in Technology
See All in Technology
私のAWS愛を聞け! ~ここが好きだよStep Functions~ #devio2022
kongmingstrap
0
280
テスト自動化を最速で軌道に乗せるために
nozomiito
0
130
ReverseETLでユーザーに価値を届ける基盤を実現した話
hakky
0
340
20220803投資先CXO候補者向け 会社紹介資料_合同会社BLUEPRINT
hik
0
230
20220728_新資格『SAP on AWS - Specialty 認定』ってどんな資格?/about-SAP-on-AWS-Specialty
emiki
1
420
eBPFで実現するコンテナランタイムセキュリティ / Container Runtime Security with eBPF
tobachi
PRO
5
1.6k
A3-1 IBM Championが本音で語る「IBM Cloud」
kolinz
0
300
ソフトバンクaPaaS領域への挑戦
sbtechnight
0
300
増田亨さんによる 「設計の考え方とやり方」勉強会オープニング
tsuyok
0
200
ジョブ管理システムをAWS Step Functionsに移行する時の勘所
non97
0
480
Red Hat Enterprise Linux 9のリリースノートを読む前に知りたい最近のキーワードをまとめて復習
moriwaka
0
360
Amazon Comprehendで始める感情分析
46ta
0
160
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
29
4.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
349
27k
Documentation Writing (for coders)
carmenintech
48
2.6k
Designing for humans not robots
tammielis
241
24k
VelocityConf: Rendering Performance Case Studies
addyosmani
316
22k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
12
940
Thoughts on Productivity
jonyablonski
44
2.4k
Designing the Hi-DPI Web
ddemaree
272
32k
Atom: Resistance is Futile
akmur
255
20k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
655
120k
The World Runs on Bad Software
bkeepers
PRO
57
5.4k
The Power of CSS Pseudo Elements
geoffreycrofte
47
4k
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