Непрерывная Интеграция. Нужно Ли Мне Включать Переменные Gitlab В Мой Код Terraform, Чтобы Мои Учетные Данные Распознавались?

  • Автор темы Neo_Logus
  • Обновлено
  • 19, Oct 2024
  • #1

Я пытаюсь настроить конвейер, который должен развертывать код terraform в учетной записи aws. Код отлично работает локально, я настроил и импортировал сегмент состояния и таблицу dynamodb, которая обеспечивает блокировку состояния.

Однако когда я запускаю код в gitlab ci, я получаю следующее сообщение об ошибке:

Ошибка: ошибка настройки серверной части S3: не найдены действительные источники учетных данных для серверной части S3. https://www.terraform.io/docs/language/settings/backends/s3.html

│ Пожалуйста, посмотрите

before_script:

- rm -rf .terraform

- terraform --version

- export AWS_ACCESS_KEY_ID

- export AWS_ROLE_ARN

- export AWS_DEFAULT_REGION

- export AWS_ROLE_ARN

│ для получения дополнительной информации о предоставлении учетных данных.

Neo_Logus


Рег
17 Jun, 2005

Тем
78

Постов
221

Баллов
651
  • 25, Oct 2024
  • #2

Ответ на этот вопрос – нет. Я просто забыл экспортировать переменную AWS_SECRET_ACCESS_KEY в раздел before_script.

 

CrarynomCer98


Рег
25 Oct, 2024

Тем
75

Постов
185

Баллов
600
  • 25, Oct 2024
  • #3

В нашем конвейере terraform мы используем команду aws cli, чтобы принять на себя роль и получить переменные учетных данных. Экземпляр EC2 для рабочего конвейера использует профиль, который может взять на себя эту роль.

creds=$(aws sts assume-role --role-arn ${ROLE_ARN} --role-session-name tf-pipeline | jq -r '.Credentials')
export AWS_ACCESS_KEY_ID=$(echo $creds | jq -r '.AccessKeyId')
export AWS_SECRET_ACCESS_KEY=$(echo $creds | jq -r '.SecretAccessKey')
export AWS_SESSION_TOKEN=$(echo $creds | jq -r '.SessionToken')



В случае использования GitLab ci ENV var, если вы тестируете в ветках, отличных от основной/главной, убедитесь, что ваши переменные не ЗАЩИЩЕНО

 

Bajram95


Рег
11 Nov, 2019

Тем
78

Постов
216

Баллов
636
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно