ansible - 存储库之间的 Ansible 共享角色
问题描述
我们有 3 个存储库,比如说存储库 Y、Z 和 W。
存储库 W 下有存储库 Y 和 Z 想要使用的角色。
从阅读来看,我们似乎需要设置 requirements.yml 如下,
- src: git@github.com:SOMEREPOSITORY/test-role.git
version: main
name: test_role
但是,我们仍然没有成功使用共享角色,
ERROR! the role 'test_role' was not found in /home/coder/provision/Build/roles:/home/coder/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/home/coder/provision/Build
是否需要在我们错过的 ansible.cfg 文件中进行配置?
解决方案
如果你试图重用角色,那么你就有点落后了(就像 2010 年那样的时代)。
你真正想做的是建立一个集合并重用它。一个集合可以包含任意数量的角色,并且易于构建和安装。唯一的要求是使用 ansible 2.9 或更新版本。
请阅读https://docs.ansible.com/ansible/latest/dev_guide/developing_collections.html
您无需将集合发布到galaxy.ansible.com 即可重用它,您可以直接从您的git repos 安装它。最好的部分是您不需要使用 ansible 包含路径来使用它。
顺便说一句,你用什么来构建图表?