передача параметров teamcity в terraform - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь построить конвейер btd для своего кода, который также включает в себя AWS. Я использую teamcity, в которой я использую Docker. Для динамического создания ресурсов AWS я использую terraform. У меня есть доступ к AWS и секретный ключ в переменных среды teamcity, но передача этих учетных данных в terraform cmd не работает

В файле dockerfile есть все команды terraform, в то время как terraform инициализируется нормально, он не запускается из-за неправильных учетных данных AWS

файл докера

RUN apt-get -y install wget unzip
RUN wget https://releases.hashicorp.com/terraform/0.11.11/terraform_0.11.11_linux_amd64.zip
RUN unzip terraform_0.11.11_linux_amd64.zip
RUN mv terraform /usr/local/bin/

ADD main.tf /usr/local/bin

RUN chmod +x /usr/local/bin

RUN terraform init
RUN terraform apply -auto-approve /usr/local/bin/terraform -var 'access_key=${AWS_ACCESS_KEY}' -var 'secret_key=${AWS_SECRET_KEY}'

AWS_ACCESS_KEY и AWS_SECRET_KEY хранятся в teamcity как переменные среды. main.tf

provider "aws" {
    region = "region-name"
}

resource "aws_instance" "aws_test" {
  ami = "ami"
  instance_type = "t2.micro"

  subnet_id = "subnet-id"

  #Security group
  security_groups = ["security-group"]

}

1 Ответ

0 голосов
/ 26 марта 2019

Подробную информацию об использовании инструкций ARG и ENV см. В справочнике Dockerfile.

https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact

В Dockerfile

`ARG CODE_VERSION = последняя ОТ базы: $ {CODE_VERSION} CMD / код / ​​run-app

ОТ дополнительно: $ {CODE_VERSION} CMD / код / ​​run-extras`

Чтобы создать образ докера, вы можете использовать команду ниже. docker build --build-arg some_variable_name=a_value

Чтобы передать пароль в секретном файле,

version: "3.1"
services:

  database:
    image: postgres:9.6
    environment:
      POSTGRES_PASSWORD_FILE: /run/secrets/postgres_password
    secrets:
      - postgres_password

secrets:
  postgres_password:
    external: true

https://github.com/docker-library/postgres/issues/111#issuecomment-293053904

В teamcity , вы можете настроить скрытый параметр, обратитесь к http://pinter.org/archives/3681 enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...