0

我有一个项目 git 存储库和一个角色 git 存储库都有同名的分支,我的项目 git 存储库的 requirements.yml 类似于下面

---
- src: <some_git_repo>
  scm: git
  version: master
  path: /var/lib/awx/projects/_7__roles
  force: yes
  ignore_errors: yes

问题是 awx 将始终使用上述 requirements.yml 而不是我的分支检查主版本,所以我永远无法测试我的分支更改

我可以将版本更改为分支名称然后提交它但是如果我忘记将其更改回来并合并我的更改现在主项目分支将使用我的角色分支而不是主副本

我已经尝试在 awx 克隆它之后编辑 requirements.yml 版本,但是由于修改它会拒绝执行 scm 更新。

有没有人知道一种方法可以让我在 awx 上使用我自己的角色分支而不破坏主分支,如果它被意外签入?

4

1 回答 1

0

对于最终遇到相同问题的其他人,我设法通过将 awx 中的项目设置为手动然后将目录符号链接到我的剧本的正确位置来解决此问题,下面是我使用的 tower-cli 命令的示例,也是设置 awx 时,您需要project_data_dir=/var/lib/awx/projects在库存中拥有,否则符号链接将无法在 awx 容器中工作。

git clone -b "mybranch" <role_repo_url> /var/lib/awx/projects/my_roles/;
ln -s /var/lib/awx/projects/my_roles/ /var/lib/awx/projects/_7__roles;
tower-cli project create --organization "my_org" -n "Roles" --local-path my_roles;

git clone -b "mybranch" <project_repo_url> /var/lib/awx/projects/my_project/;
ln -s /var/lib/awx/projects/my_project/ /var/lib/awx/projects/_6__projects;
tower-cli project create --organization "my_org" -n "Projects" --scm-type manual --local-path my_project;
于 2019-07-18T12:01:40.057 回答