私有gitlab中的分子依赖

Molecule dependency in private gitlab

有什么办法可以从 gitlab 中的私人项目中解决依赖项cies 吗? 在我实际的 gitlab-ci 上我使用了这样的技巧

requirements.tmpl:

- name: my-company.ansible-init-disk
  scm: git
  src: https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.my-company/sre/ansible-roles/ansible-role-init-disk.git
  version: 0.1.0

.gitlab-ci.yaml

- envsubst < requirements.tmpl > requirements.yaml
- ansible-galaxy install -r requirements.yaml -p roles --force-with-deps

瞧,我在角色文件夹中找到了我的部门。

对于分子,我必须做类似

的事情
dependency:
  name: galaxy
  options:
    role-file: molecule/default/requirements.yml

但是 requirements.yml 中没有环境插值。见 https://github.com/ansible/ansible/issues/36395

关于如何获得我的部门的任何想法?

当前的最佳解决方案看起来像这样

molecule.yml

dependency:
  name: shell
  command: $PWD/molecule/default/deps.sh

deps.sh

envsubst < molecule/default/requirements.tmpl > molecule/default/requirements.yaml
ansible-galaxy install -r molecule/default/requirements.yaml

但是那个有点难看