首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用现有项目中的不可见私有角色?

如何使用现有项目中的不可见私有角色?
EN

Server Fault用户
提问于 2019-09-23 14:08:34
回答 1查看 1.5K关注 0票数 0

在我最初的awx设置中,我使用了我的角色、清单和剧本,并将它们放在一个由ssh密钥身份验证所保护的GIT存储库中。在Ansible-AWX7.0中,HTTPS似乎被破坏了

我将GIT-存储库作为一个项目导入到ansible-awx中。

我已经设法参考了剧本和清单。如何使用GIT存储库中的角色?

我尝试使用以下requirements.yml:

代码语言:javascript
复制
- src: ansible-awx@<some azure devops repo>
  name: hosting
  scm: git

当尝试运行将宿主角色应用于我的库存的剧本时,无法解决宿主角色。

我已经尝试了以下几种方法:

  • 将这一角色外包给不同的回购机构
  • 在src中使用git个人令牌

百无所成。

我们非常感谢你的帮助。

更新:实际设置。1.角色放置在单独的GIT回购中。

代码语言:javascript
复制
/
- defaults
- files
- handlers
- meta
- tasks
- templates
- vars
  1. 角色存储库作为具有正确凭据(SSH键)的项目添加。

结果错误消息:

代码语言:javascript
复制
Identity added: /tmp/awx_5_kjl4ecco/artifacts/5/ssh_key_data (/tmp/awx_5_kjl4ecco/artifacts/5/ssh_key_data)
ERROR! the role 'celum-hosting' was not found in /var/lib/awx/projects/_8__cps_tc_git/playbooks/hosting/roles:/var/lib/awx/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/var/lib/awx/projects/_8__cps_tc_git/playbooks/hosting
The error appears to be in '/var/lib/awx/projects/_8__cps_tc_git/playbooks/hosting/playbook_applyhostingrole.yml': line 4, column 7, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
  roles:
    - { role: celum-hosting }
      ^ here
EN

回答 1

Server Fault用户

发布于 2020-03-17 09:05:29

如果在git的path /中有一个剧本,那么剧本所需要的角色必须位于路径/roles中相同的基本dir中。你不能“分享”角色。这是Ansible的一个“问题”。在早期,工作dir可能是roles搜索路径的基础,但是这是一个安全风险,并且被删除了。Ansible总是在文件夹中查找角色文件夹,在其中运行剧本。

因此,您不能只为角色创建Git存储库,而为AWX中的剧本设置另一个存储库,因为这两个存储库都位于不同的位置。

也许-你能做的是把角色存储库作为一个Git子模块放在你的剧本中,在这种情况下,剧本回购也会签出角色存储库。但在这种情况下,你永远不可能在你的剧本回购中扮演角色。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/985294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档