Оформить заказ в той же ветке для ролей, используя файл requirements.yml в awx / ansible.

У меня есть репозиторий проекта 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 всегда проверяет основную версию с указанными выше требованиями .yml вместо моей ветки, поэтому я никогда не смогу проверить изменения своей ветки.

Я мог бы изменить версию на имя ветки, а затем зафиксировать ее, но затем, если я забуду изменить ее обратно и объединить свои изменения, теперь основная ветвь проекта будет использовать мою ветвь ролей вместо главной копии

Я попытался отредактировать версию requirements.yml после того, как awx клонировал ее, но затем она откажется выполнять обновление scm из-за модификации.

Кто-нибудь знает способ, который позволил бы мне использовать мою собственную ветвь роли на awx, не нарушая главную ветвь, если она будет случайно проверена?


person Snipzwolf    schedule 17.07.2019    source источник


Ответы (1)


Для всех, кто сталкивается с той же проблемой в конце концов, мне удалось обойти это, установив проекты в awx как руководство, а затем символически связав каталоги в правильные места для моих playbooks, ниже приведен пример команд 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;
person Snipzwolf    schedule 18.07.2019