План Terraform дает ошибку в трубопроводе Дженкинс - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь запустить скрипт terraform в конвейере jenkins.Команда "terraform plan" показывает ошибку

1mError, запрашивающий ввод данных пользователем: 1 произошла ошибка:

  • provider.aws: плагин вышел, прежде чем мы смогли подключиться

Сценарий terraform содержит vars.tf & iam.tf

iam.tf

provider "aws" {
access_key = "${var.access_key}"
secret_key = "${var.secret_key}"
region = "us-east-1"

}
resource "aws_iam_role" "replication" {
name = "tf-iam-role-replication-12349995"

assume_role_policy = <<POLICY
{
"Version": "2012-10-17",
"Statement": [
 {
 "Action": "sts:AssumeRole",
 "Principal": {
 "Service": "s3.amazonaws.com"
 },
 "Effect": "Allow",
 "Sid": ""
 }
 ]
 }
 POLICY
 }

vars.tf

variable "access_key" {}
variable "secret_key" {}

при запуске

steps {
withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', 
accessKeyVariable: 'AWS_ACCESS_KEY_ID',
credentialsId: 'Source', 
secretKeyVariable: 'AWS_SECRET_ACCESS_KEY']]) {

sh "  sudo terraform init ; sudo terraform plan -var 'access_key=${AWS_ACCESS_KEY_ID}'  -var 'secret_key=${AWS_SECRET_ACCESS_KEY}'"
}
}
}

Terraform init работает нормально, но план terraform дает ошибку.

+ sudo terraform plan -var access_key=**** -var secret_key=****
[31m
[1m[31mError: [0m[0m[1mError asking for user input: 1 error(s) occurred:

* provider.aws: plugin exited before we could connect

Этот скрипт работает нормально в Vagrant VM без jenkins

1 Ответ

0 голосов
/ 01 октября 2018

Какую версию Terraform вы используете?

Пробовали ли вы эти параметры:

  • terraform init -input = false
  • terraform plan -input = false
  • terraform apply -input = false -auto-Approve
...