Apache-Httpd
在劇本中使用 Ansible-Galaxy 角色而不是在劇本中使用 ansible-modules 是最佳實踐嗎?
我有一個 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 目前不在 - 例如,在夏威夷度假或其他什麼的,將會有許多社區成員來解決問題並確保穩定性。使用它也將縮短我已經相當長的劇本。
我的問題
一般來說,在 Ansible 劇本中將 Ansible-Galaxy 角色與任務和測試一起使用是最佳實踐,而不是劇本中顯然應該實現相同目標的一組 ansible 模組(可能是一些可能無關緊要和不會的冗餘額外內容) t 中斷作為 AG 角色的一部分在那裡)?我會假設是的,因為它更公共和更穩定。
是否使用 Galaxy 提供的角色是您需要在特定環境中評估的決定(對於您正在考慮的每個角色)。
Galaxy 上的優秀角色通常會處理比您的特定角色更多的情況(查看
tasks
此處的內容,與您的劇本相比),但這些功能是有代價的:您正在向系統添加外部依賴項,並依賴一個社區來處理您的要求。與開發劇本(或您自己的 Galaxy 角色)相比,您需要查看評估 Galaxy 角色的成本;現在和將來。沒有硬性規定。