Apache-Httpd
Ansible-Galaxy 角色中的基本文件(目錄和正常文件)是什麼?
我有一個 Ansible 劇本,用於在遠端機器上建立 LAMP 環境。
本劇本的一部分涉及安裝 Composer:
- name: Install Composer get_url: url: https://getcomposer.org/installer dest: /tmp/composer-setup.php command: php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
我的考慮
ansible-galaxy
相反,我正在考慮在劇本中使用以下命令的這些 5 行結構:ansible-galaxy install geerlingguy.composer
geerlingguy.composer
是擁有超過一百萬使用者的最受社區支持的 AG 角色(所以我假設如果出現問題並且 Jeff 目前不在 - 例如,在夏威夷度假或其他什麼的,將會有許多社區成員來解決問題並確保穩定性。使用它也將縮短我已經相當長的劇本。
我的問題
為什麼我們心愛的 Geerling(以及其他一些類似角色)的 Ansible-Galaxy 角色都包含在 GitHub 中的目錄和
defaults/
文件?換句話說,為什麼像我寫的那樣一本劇本是不夠的?meta/``templates``.travis.yml
meta
包含用於 Galaxy 系統資料庫的元數據。.travis.yml
包含Travis CI的配置,確保項目持續集成。其他目錄體現了 Ansible 角色的典型結構:defaults
包含預設設置,tasks
包含 playbook,並templates
包含生成文件的模板。ansible-galaxy init
將為您創建預設結構;有關詳細資訊,請參閱文件。目前,這是
README.md .travis.yml defaults/ main.yml files/ handlers/ main.yml meta/ main.yml templates/ tests/ inventory test.yml vars/ main.yml
但是您不會在所有角色中看到所有這些,因為很少有角色需要此處列出的每個文件和目錄。
如果您查看 中的文件
tasks
,您會發現這個特定角色處理的案例比您自己的劇本要多得多。這並不意味著你自己的劇本還不夠。它解釋了為什麼結構化方法很有用。