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
AWXのプロジェクトを自動同期させたい / Automatic AWX project syn...
Search
ののし
June 23, 2020
Technology
2.7k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWXのプロジェクトを自動同期させたい / Automatic AWX project synchronization
ののし
June 23, 2020
More Decks by ののし
See All by ののし
HashiCorp Vault と Platform Engineering で目指す、使ってもらえるシークレット管理プラットフォーム / secrets-management-people-actually-want-to-use-hashicorp-vault-platform-engineering
nnstt1
0
89
2025 年版 HashiCorp Vault 入門 / Introduction to HashiCorp Vault - 2025 Edition
nnstt1
1
230
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
3
890
Azure Developer CLI と Azure Deployment Environment / Azure Developer CLI and Azure Deployment Environment
nnstt1
1
730
Terraform にコントリビュートしていたら Azure のコストをやらかした話 / How I Messed Up Azure Costs While Contributing to Terraform
nnstt1
1
980
進化するクラウド管理 -Azure と Terraform の最新トレンド- / Evolving Cloud Management - Latest Trends in Azure and Terraform
nnstt1
0
130
今から、 今だからこそ始める Terraform で Azure 管理 / Managing Azure with Terraform: The Perfect Time to Start
nnstt1
0
600
HCP Vault Secrets でシークレット管理を始めよう / Getting Started with Secret Management Using HCP Vault Secrets
nnstt1
0
340
HashiCorp Ambassador が予想!Red Hat × HashiCorp の未来 / The Future of Red Hat and HashiCorp
nnstt1
1
280
Other Decks in Technology
See All in Technology
新卒エンジニア、 介護士になる
ryu1013
1
690
Agent Harnessはどう作る?事例から学ぶAI Agentの設計思想
sergicalsix
0
230
The Author Pays
hiccupps
0
150
アラートを見直していたら営業組織への理解にちょっとだけ繋がった話
z63d
0
120
長い仕事を任せる (Workflows、クラウドセッション、Kiro Web) | 目指せ Kiro マスター 10
inariku
PRO
3
150
サボる子はいねぇがー!AgentCoreハーネスの脆弱性に学ぶ、エージェントの入力バリデーション
iwamot
PRO
5
320
現場を動かすAIエージェント#2_製造業現場でのAI活用から見た、ハマる罠と実践知
kintotechdev
2
210
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
2
160
Cloudflareの向き先
chimame
1
160
超⼩型・多⾔語検索モデル Bekko Embedding
hotchpotch
1
140
Reticulum, le réseau cypherpunk dont vous avez besoin !
rlifchitz
0
120
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
260
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
630
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Are puppies a ranking factor?
jonoalderson
2
4.2k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
320
Darren the Foodie - Storyboard
khoart
PRO
4
4.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
980
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3.1k
Git: the NoSQL Database
bkeepers
PRO
433
67k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.4k
From π to Pie charts
rasagy
1
440
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
560
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Transcript
AWXのプロジェクトを自動同期させたい 2020.06.23 @nnstt1 Ansible Night Tokyo 2020
自己紹介 --- - name : ののし - twitter : @nnstt1
- job : previous : SIer(アプリ寄り) current : 社内インフラ(主に Windows Server) - relationship_with_ansible : - 2019.8 Ansible と出会う - 社内で Ansible 推進 - Ansible ユーザー会 への物理参加が目標 - win_updates が好き Ansible Night Tokyo 2020 #ansiblejp 2
AWXを使っていて こんなことを思ったことは ありませんか?
とある 新規Playbook の追加で… Ansible Night Tokyo 2020 #ansiblejp 4 git
push 新しく作った ぼくのかんがえたさいきょうの Playbook を Job Template で使おう YAML YAML saikyo-playbook.yml
出てこない!
プロジェクトの同期が必要だった Ansible Night Tokyo 2020 #ansiblejp 6 < Playbook追加の度にボタン押すの(‘A` )マンドクセ
1. git push 2. Job Template で Playbook 選択 3.
Job Template 起動 理想の姿 7 Ansible Night Tokyo 2020 #ansiblejp 新Playbookを作ったら… この時点でプロジェクトは 同期済みであってほしい
検討した方法 8 Ansible Night Tokyo 2020 #ansiblejp • プロジェクト同期用 JT
を Webhook で起動 • AWX の API でプロジェクト同期ジョブを起動
Webhook
JT は Webhook 経由で起動可能 Ansible Night Tokyo 2020 #ansiblejp 10
• Webhook で直接プロジェクト同期させることは不可能 • 同期用JT を用意 - 同期させたいプロジェクトを選択 - Playbook の中身は空っぽ(debug など)
JT 実行時にプロジェクトを更新 Ansible Night Tokyo 2020 #ansiblejp 11
GitLab から Webhook でリクエスト送信 Ansible Night Tokyo 2020 #ansiblejp 12
Project Webhookで JT 実行 git push YAML YAML YAML Playbook 同期 Repository 同期用 JT (中身 空っぽ) SCM Update 1. GitLab から Webhook 送信して 同期用 JT を実行 2. 同期用JT で使用するプロジェクトが更新される 3. 新Playbook が同期される
Webhook でプロジェクトの同期可能 Ansible Night Tokyo 2020 #ansiblejp 13 ジョブ履歴 JT
作成 Webhook で実行されている! プロジェクトが同期された! 新 Playbook を選択できる!
API
AWX は API が提供されている Ansible Night Tokyo 2020 #ansiblejp 15
http://<awx-server>/api/ でブラウザから見れます /api/v2/projects/<project-id>/update/ POST すればプロジェクトが同期される
.gitlab-ci.yml Ansible Night Tokyo 2020 #ansiblejp 16 image: docker:latest ...(略)...
molecule: stage: test script: - molecule test awx: stage: sync script: - 'curl -X POST -H "Authorization: Bearer $AWX_TOKEN" -H "Content-Type: application/json“ http://<awx-server>/api/v2/projects/<project-id>/update/’ only: - master 事前に AWX のトークンを取得して GitLab に登録が必要 curl -s -u <user>:<password> -X POST http://<awx-server>/api/v2/tokens/ | jq -r .token Molecule クリア & master ブランチ の場合のみ API 実行 Molecule 用
GitLab CI で API を叩く Ansible Night Tokyo 2020 #ansiblejp
17 Project CI curl Playbook 同期 git push YAML Repository YAML YAML SCM Update 1. GitLab CI で Runner 起動 2. Runner 内で プロジェクト更新 API 実行 3. 新Playbook が同期される
まとめ 18 Ansible Night Tokyo 2020 #ansiblejp プロジェクト自動同期は可能 Webhook と
API の 2通り確認できた 職場では API を採用 AWX は API が豊富 AWX は多くの API が提供されているので他にも活かせそう awx コマンドでも可能 某金魚さんブログにて awx コマンドでの同期を紹介