【发布时间】:2019-09-30 22:48:51
【问题描述】:
我正在将 Jenkins 管道与私有 TFE 作为后端集成,并使用保险库进行身份验证。
但是 terraform 计划给了我以下错误
Terraform v0.11.11
Configuring remote state backend...
Initializing Terraform configuration...
2019/05/14 00:11:01 [DEBUG] Using modified User-Agent: Terraform/0.11.11 PTFE/46ef48a
[31m
[1m[31mError: [0m[0m[1mprovider.vault: "address": required field is not set[0m
main.tf >>>>
provider "aws" { region = "us-east-1" }
resource "aws_instance" "my-test-instance" {
ami = "ami-0080e4c5bc078760e"
instance_type = "t2.micro"
tags { Name = "test-instance" }
}
詹金斯 >>>
stage('terraform plan') {
steps {
script {
wrap([$class: 'VaultBuildWrapper', configuration:conf, vaultSecrets: secretz]) {
withCredentials([string(credentialsId: 'VAULTAWSTOKEN', variable: 'VAULT_TOKEN')]) {
sh "~/bin/aws sts get-caller-identity"
sh "${env.TERRAFORM_HOME} plan "
}
}
}
input (message: 'Ready to apply?', ok: 'Yes')
}
}
【问题讨论】:
-
你可以edit你的问题,不要在cmets中发布代码
-
您的保管库配置在哪里?
-
在 Jenkins 文件中定义。 def secretz = [ [$class:'VaultSecret',路径:“aws/sts/VaultTFE-Sandbox”,secretValues:[[$class:'VaultSecretValue',envVar:'AWS_SESSION_TOKEN',vaultKey:'security_token'],[$类:'VaultSecretValue',envVar:'AWS_ACCESS_KEY_ID',vaultKey:'access_key'],[$class:'VaultSecretValue',envVar:'AWS_SECRET_ACCESS_KEY',vaultKey:'secret_key']]]] def conf = [$class:' VaultConfiguration',vaultUrl:'17.89.120.22:8200',vaultCredentialId:'VAULT_APP_ROLE'
标签: jenkins terraform hashicorp-vault