首页 > 解决方案 > Jenkins 面临运行 Terraform 代码的问题

问题描述

该项目正在使用 terraform 代码启动几个 AWS 实例,并且在通过 jenkins 运行时会引发以下错误:

    + terraform plan
[31m╷[0m[0m
[31m│[0m [0m[1m[31mError: [0m[0m[1merror configuring Terraform AWS Provider: no valid credential sources for Terraform AWS Provider found.
[31m│[0m [0m
[31m│[0m [0mPlease see https://registry.terraform.io/providers/hashicorp/aws
[31m│[0m [0mfor more information about providing credentials.
[31m│[0m [0m
[31m│[0m [0mError: NoCredentialProviders: no valid providers in chain. Deprecated.
[31m│[0m [0m    For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[31m│[0m [0m[0m
[31m│[0m [0m
[31m│[0m [0m[0m  with provider["registry.terraform.io/hashicorp/aws"],
[31m│[0m [0m  on provider.tf line 1, in provider "aws":
[31m│[0m [0m   1: provider "aws" [4m{[0m[0m
[31m│[0m [0m
[31m╵[0m[0m

这是我的管道代码:

pipeline{
    agent any
    tools {
        terraform 'terraform'
    }
     stages{
        stage('Git Checkout'){
            steps{
                git branch: 'main', credentialsId: 'github id', url: 'https://gitlab.com/path/project'
            }
        }
        
        stage('Terraform init'){
            steps{

                
                
                sh 'terraform init'
                
            }
        }
        
        stage('Terraform plan'){
            steps{
                dir('terraform-aws-ec2-with-vpc'){
                
                sh 'ls -ltra'
                sh 'terraform init'
                sh 'terraform plan'
                }
            }
        }
        
        stage('Terraform apply'){
            steps{
                sh 'terraform apply --auto-approve'
            }
        }
    }
    }

在步骤 terraform plan 中它失败了,不确定这意味着什么,.ppk 密钥已经存在于 gitlab 中,并且它也在 /var/lab/jenkins/workspace 中下载

标签: amazon-web-servicesjenkinsterraform

解决方案


推荐阅读