我有一个在远程机器上建立灯环境的可操作的操作手册。
本手册的一部分内容涉及安装编写器:
- 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.composergeerlingguy.composer是最受社区支持的AG角色,拥有超过百万用户(所以我认为如果有问题,而杰夫目前不在--比如说,去夏威夷度假之类的话),就会有很多社区成员来解决这个问题并确保稳定。
使用这个也会缩短我已经很长的剧本。
一般来说,使用Ansible-Galaxy角色来执行任务和测试,而不是使用一组Ansible -模块是否是最佳实践?这些模块显然应该达到相同的目标(可能是一些多余的附加部分,它们可能并不重要,也不会中断作为AG角色的一部分)吗?我会认为是的,因为它更多的是公共的和稳定的。
发布于 2018-12-18 08:14:58
是否使用Galaxy提供的角色是您需要在特定上下文中进行评估的决定(对于您正在考虑的每个角色)。
在Galaxy上的好角色通常会处理比特定角色更多的情况(请看这里的tasks内容,与您的剧本相比),但是这些功能是要付出代价的:您正在为系统添加外部依赖,并依赖社区来处理您的需求。
与开发剧本(或自己的Galaxy角色)相比,您需要考虑评估Galaxy角色的成本;无论是现在还是将来。没有硬性规定。
https://unix.stackexchange.com/questions/489630
复制相似问题