将 Ansible Galaxy 角色安装为 git 存储库

Install Ansible Galaxy role as git repository

我有一个包含以下内容的 requirements.yml 文件:

- src: git@github.com:SomeOrg/SomeRole.git
  scm: git
  version: master
  name: some-role

如果我 运行 ansible-galaxy,角色将按预期包含在角色目录中。该角色最终成为所需 git 修订版的导出,而不是 git 存储库本身。有没有办法告诉 ansible-galaxy 加入 git 存储库的角色?

Composer,PHP 包管理器,默认执行此操作。将你引入的依赖项作为 git 存储库(在适用的情况下)可以更容易地对它们进行更改。

TLDR; => ansible-galaxy role install -fgr roles/requirements.yml


帮助消息中的 IMO 不是很清楚,但这是您正在寻找的选项:

$ ansible-galaxy install --help
[...]
  -g, --keep-scm-meta   Use tar instead of the scm archive option when
                        packaging the role.

您可能希望忽略 galaxy 在导入角色时创建的 meta/.galaxy_install_info 文件。