Разрешение доступа GitLab CI / CD runner к нескольким проектам - PullRequest
0 голосов
/ 03 августа 2020

У меня есть проект terraform, который ссылается на ресурсы в другом проекте. Существуют ли встроенные механизмы, позволяющие исполнителям GitLab CICD получать доступ к нескольким проектам через одну конфигурацию? Я бы не хотел жестко кодировать аутентификацию.

Мои ресурсы проекта terraform находятся в:

- Infrastructure/resources/tf-modules/...

, а моя живая инфраструктура находится в:

- Infrastructure/live/...

Однако, когда я пытаюсь запустить свою живую инфраструктуру, когда он пытается извлечь ресурсы из другого проекта:

module dynamo_terraform_lock_table {
  source = "git::https://git.abc.com/infrastructure/resources/tf-modules/dynamodb/terraform-state-lock?ref=0.0.4"
}

Ошибка моего исполнителя CICD:

fatal: could not read Username for 'https://git.abc.com': No such
device or address

Вот соответствующая часть моего .gitlab-cy.yml:

script:
    - git config --global user.name $CI_DEPLOY_USER
    - git config --global user.password $CI_DEPLOY_PASSWORD
    - cd terraform
    - terraform init
    - terraform plan

Вышеупомянутые попытки использовать специальный токен развертывания, gitlab-deploy-token, но я думаю, я не понимаю, как это должно работать. Это кажется идеальным решением, поскольку оно скрывает все за кадром, но я не уверен, что делаю неправильно.

...