วิธีใช้ตัวแปรกับกลุ่มโฮสต์เมื่อกลุ่มทับซ้อนกัน


0

ฉันกำลังพยายามตั้งค่าสคริปต์ Ansible ง่าย ๆ (หวังว่า) เพื่อดูสาขา git มีสามสภาพแวดล้อม: dev, qa และ live แต่ละอันมีโฮสต์สองอัน แต่ dev และ qa ใช้โฮสต์เดียวกันเพียงแค่ใช้ไดเรกทอรีที่ต่างกัน

ฉันต้องการมีไฟล์คลังสินค้า sorta เช่นนี้

[dev]
internal1.example.com
internal2.example.com

[dev:vars]
dir = /opt/dev

[qa]
internal1.example.com
internal2.example.com

[qa:vars]
dir = /opt/qa

[live]
live1.example.com
live2.example.com

[live:vars]
dir = /opt/live

แต่มันไม่ได้ผล ค่าตัวแปรนำมาจากกลุ่มทั้งหมดที่พวกเขาอยู่ ดังนั้น internal1.example.com จึงเลือกค่า dir จากทั้ง dev และ qa ไม่ว่าจะใช้อันไหน

ฉันจะกำหนดตัวแปรที่ใช้กับโฮสต์โดยขึ้นอยู่กับกลุ่มที่ฉันกำหนดเป้าหมายได้อย่างไร

ฉันใช้รุ่น Ansible 1.5.4

คำตอบ:


-1

https://ansible-tips-and-tricks.readthedocs.io/en/latest/ansible/inventory/

คุณสามารถใช้ตัวแปรเฉพาะกลุ่มกับไฟล์ที่อยู่ใน [ansible_base_dir] / group_vars / [group-name]

ดังนั้นคุณจะมีไฟล์:

[ansible_base_dir] / group_vars / dev

---
dir: /opt/dev

[ansible_base_dir] / group_vars / QA

---
dir: /opt/qa

[ansible_base_dir] / group_vars / สด

---
dir: /opt/live
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.