0

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

要求.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中没有env插值。见https://github.com/ansible/ansible/issues/36395

任何想法如何让我的部门?

4

1 回答 1

0

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

分子.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

但这看起来有点难看

于 2020-05-03T03:17:25.983 回答