mysql – ansible galaxy – 从repo安装角色

我有一个在剧本中扮演很少角色的git项目,我想使用ansible galaxy中的一个角色.

repo的克隆正在运行,但它在归档阶段失败了:

executing: git clone https://[email protected]/my-project/search-mysql search-mysql  executing: git archive --prefix=search-mysql/ --output=/tmp/tmp3f6ySq.tar search  
command git archive --prefix=search-mysql/ --output=/tmp/tmp3f6ySq.tar search failed

使用requirements.yml文件,和

ansible-galaxy install --role-file=requirements.yml --roles-path=roles --force

知道档案失败的原因吗?
我只能下载角色而不是整个项目(search-mysql)吗?

谢谢,

解决方法:

除非存在未记录的特征(这不是最罕见的事情),否则需要专用的git repo来兼容星系.如果角色是不同项目使用的组件,就像您的情况一样,无论如何将它存储在单独的项目中是有意义的.你不能把这个角色移出来并在两个项目中引用它吗?

一个hacky解决方法可能是这样的:

在您的需求文件中,指定将角色仓库保存到的位置:

- src: [email protected]/my-project/search-mysql
  version: master
  name: search-mysql
  path: ./role_collection

现在ansible-galaxy会将回购保存在./role_collection/search-mysql中

这只是为了不使用实际拥有角色集合的文件夹污染原始角色目录.

在您的剧本中,您还可以为每个角色指定完整路径:

- hosts: ...
  roles:
    - ./role_collection/search-mysql/path/to/your/role/inside/the/repo

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐