मैं बाहर काम कर रहे मुद्दों के लिए सबसे अच्छा कैसे मेजबान / भूमिकाओं लागू करने के लिए विभिन्न ऑपरेटिंग सिस्टम में हैं।
मैं वर्तमान में Windows / Mac / Linux VMs बनाने के लिए Ansible का उपयोग कर रहा हूं, और प्रत्येक VM की अलग-अलग भूमिकाएँ हैं, जिन पर उन्हें लागू करने की आवश्यकता है।
मैंने सर्वोत्तम प्रथाओं को पढ़ा है और विशेष रूप से समूहीकरण पद्धति का उपयोग करने के लिए उनका पालन करने की कोशिश की है, लेकिन मैं अभी भी अनिश्चित हूं क्योंकि वे ज्यादातर वेबसर्वर और डेसबर्वर का उल्लेख करते हैं।
site.yml
- name: Apply common configuration to all nodes
hosts: all
roles:
- common
- name: Configure and deploy test node 1
hosts: build-test-node
roles:
- build-machine-test-1
- name: Configure and deploy test node 2
hosts: build-test-node-2
roles:
- build-machine-test-2
वातावरण / परीक्षण / समूहों
[win_build_nodes]
win_build_machine_1
win_build_machine_2
[mac_build_nodes]
mac_build_machine_1
वातावरण / परीक्षण / मेजबान
win_build_machine_1 ansible_host=......
win_build_machine_2 ansible_host=......
mac_build_machine_1 ansible_host=......
वातावरण / परीक्षण / मेटा
[mac_build_nodes]
[win_build_nodes]
[win:children]
win_build_nodes
[mac:children]
mac_build_nodes
[linux:children]
[build_nodes:children]
win_build_nodes
mac_build_nodes
environment/test/meta
मेरा मानना है कि फ़ाइल को इसके साथ बदलना होगा build_nodes:children
, लेकिन मुझे यकीन नहीं है कि क्या करना है। पहले मैं सिर्फ VMs कर रहा था सभी भूमिकाएँ निम्नलिखित के साथ इसे बनाया है:
पुरानी साइट
- name: Apply everything
hosts: build_nodes
roles:
- common
- build-machine-test-1
- build-machine-test-2
लेकिन तब एहसास हुआ कि मैं नहीं चाहता था कि सब कुछ उसी मशीन पर बनाया जाए। ध्यान दें, build-machine-test-1
और 2
दोनों के पास अलग-अलग विंडोज / मैक / लिनक्स हैं, क्योंकि वे पता लगाते हैं कि ऑपरेटिंग सिस्टम के आधार पर क्या शामिल करना है।
क्या कोई ऑपरेटिंग सिस्टम के आधार पर VMs को अलग करने का बेहतर तरीका सुझा सकता है?
build-machine-test-1
भूमिका का अपना अलग-अलग निर्माण होता हैos_family
। मेरा प्रश्न उच्च स्तर के लिए है जहां भूमिकाओं को लागू करने से पहले बिल्ड मशीनों को खुद को अलग करने की आवश्यकता होती है ...