ฉันจะจัดระเบียบ Ansible repo ให้มีบทบาทแยกกันสำหรับแต่ละซอฟต์แวร์แล้วใช้ ansible_hostname
ข้อเท็จจริงของ รวบรวม_ข้อเท็จจริง
โมดูลเป็นเงื่อนไขในการติดตั้งซอฟต์แวร์สำหรับโฮสต์เฉพาะ ฉันจะไปกับโครงสร้างโฟลเดอร์ดังนี้:
âââ ansible_repo
âââ บทบาท
â âââ เป็นกลุ่ม
â â âââ งาน
â â âââ main.yml
â âââ tmux
â â âââ งาน
â â âââ main.yml
â âââ vlc
â âââ งาน
â âââ main.yml
âââ สินค้าคงคลัง
âââ playbook.yml
เนื้อหาของ playbook.yml
จะเป็นไปตามนี้:
#playbook.yml
- โฮสต์: ทั้งหมด
กลายเป็น: จริง
#รันบทบาท
- โฮสต์: ทั้งหมด
บทบาท:
- เสียงเรียกเข้า
- tmux
- วีแอลซี
เดอะ main.yml
ภายในแต่ละงานจะเป็นไปตามเทมเพลตนี้ (มีการใช้ vim):
---
# ไฟล์งานสำหรับกลุ่ม
- ชื่อ: ติดตั้งเสียงเรียกเข้า
ถนัด:
ชื่อ:
- เสียงเรียกเข้า
เมื่อ Gather_facts.ansible_hostname = "host1" หรือ "host3"
คุณสามารถจัดเก็บชื่อโฮสต์ใน รายการสิ่งของ
ไฟล์ได้อีกด้วย
แม้ว่าสิ่งนี้จะใช้งานได้ แต่ฉันคิดว่าไม่ใช่แนวปฏิบัติที่ดีที่สุด วิธีที่ดีกว่าคือการจัดกลุ่มโฮสต์ของคุณตามความจำเป็นของแพ็คเกจ จากนั้นใช้บทบาทเฉพาะสำหรับกลุ่มนั้น