5

我正在編寫一個劇本來設置開發環境併爲項目構建管道。我希望儘可能保持playbook與實際基礎設施的分離,並且僅僅依賴組,所以我可以使用不同的組限制器,使用相同的命令在本地虛擬機和裸機上設置管道。Ansible,如何僅在用戶存在的情況下將用戶添加到組

現在的問題是,與當地的流浪盒我需要添加用戶流浪漢泊塢窗組,其中與裸機服務器的一些任意用戶。在劇本中處理這些變化的最佳做法是什麼?儘可能保持抽象?我應該使用行爲參數,主機變量,組變量,條件或事實收集這種東西?

保持劇本完全抽象化,沒有任何硬編碼值和對任何環境的適應性,甚至有可能或合理嗎?

回答

1

爲了回答您的具體問題:

請使用Vagrantfile覆蓋用戶變量。 例如,如果你是流浪漢,它將是ubuntu,如果你是流浪漢,它將是vagrant


更理論回答:

我有同樣的問題與流浪者構建和我決定讓所有的流浪者建立把它撿起來,並執行設置服務器保持一個ansible劇本的地方。

舉例來說,劇本是這樣的:

- hosts: all 
    tasks: 
    - name: remove apparmor 
     apt: name=apparmor purge=true state=absent 

,然後我的每一個流浪者資料庫的wget的,並與

box.vm.provision :ansible do |ansible| 
    ansible.playbook = 'vagrant_extra.yml' 
    ansible.sudo = true 
    ansible.limit = 'all' 
end 

運行最好的解決辦法,我認爲是使用包裝機提供你自己的流浪漢形象,所有這些東西預先支持在那裏,以便

  1. 你不需要nee d要浪費時間自己設置圖像,並且
  2. 您的包裝箱與「產品」包裝箱相同。
相關問題