首页 > 解决方案 > 存储库之间的 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 文件中进行配置?

标签: ansibleyamlansible-role

解决方案


如果你试图重用角色,那么你就有点落后了(就像 2010 年那样的时代)。

你真正想做的是建立一个集合并重用它。一个集合可以包含任意数量的角色,并且易于构建和安装。唯一的要求是使用 ansible 2.9 或更新版本。

请阅读https://docs.ansible.com/ansible/latest/dev_guide/developing_collections.html

您无需将集合发布到galaxy.ansible.com 即可重用它,您可以直接从您的git repos 安装它。最好的部分是您不需要使用 ansible 包含路径来使用它。

顺便说一句,你用什么来构建图表?


推荐阅读