在剧本中使用Ansible-Galaxy角色而不是剧本中的ansible-module是最佳实践吗?

用户名

我有一本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-Galaxy角色与Ansible剧本中的任务和测试结合使用,而不是在剧本中显然应该实现相同目标的一组ansible模块,是否是最佳实践(也许有些多余的多余部分可能并不重要, t中断是AG角色的一部分)?我认为是的,因为它更通用且更稳定。

斯蒂芬·基特

是否需要使用Galaxy提供的角色是您需要在特定上下文中评估的决定(针对您正在考虑的每个角色)。

在Galaxy上,好的角色通常会比您的特定角色处理更多的情况(请参阅tasks此处的内容,与您的剧本相比),但是这些功能要付出一定的代价:您在系统上添加了外部依赖关系,并依赖于一个社区来满足您的要求。

与开发剧本(或您自己的Galaxy角色)相比,您需要查看评估Galaxy角色的成本;无论现在还是将来。没有硬性规定。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

可以使用ansible变量在剧本中声明主机吗?

ansible:在剧本中使用不同的变量调用相同的角色

如何从 ansible 清单中获取特定组并在剧本中使用它?

Ansible,在剧本中使用可变内容时出现问题

ansible:托管特定剧本的最佳实践

在剧本中使用多值变量

Ansible剧本与角色

Ansible:在剧本中,按标签过滤角色,而无需通过命令行

Ansible:如何在剧本中创建空库存组?

在ansible剧本中包括子角色?

指定要在剧本中使用的特定回调

Ansible剧本,使用了集合中定义的角色

Ansible剧本var无法在模板中使用

Ansible:剧本和角色的不同

即使在剧本结束后,Ansible 能否继续破坏进程?

Ansible能否在剧本中间获取更新的事实?

剧本中的ansible循环

Ansible剧本中的JAR文件名可以使用通配符吗?

仅在剧本没有问题的情况下才如何运行Ansible剧本?

ansible:在子文件夹中从剧本获取角色

Ansible 2.6:是否可以在角色任务中引用剧本的名称?

执行角色时,正确的YAML文件足以用于正确的ansible剧本和语法吗?

在Ansible剧本上遍历var文件,然后按顺序运行剧本中的所有角色

Ansible忽略任务中的错误,如果任何任务有错误,则在剧本结尾失败

如何获得Ansible支票在剧本中只能运行一次?

Ansible:我在剧本中的“with_itmes”有什么问题

为什么 Ansible 不在剧本中为这个列表分别取每个值?

如何指定在Ansible剧本中使用的Python版本?

如何在Ansible剧本中使用JMESPath进行排序?