【发布时间】:2019-12-02 19:11:05
【问题描述】:
pipeline{
agent any
stages{
stage('Checkout') {
steps {
git branch: 'master',
credentialsId: 'xxx-test-credentials',
url: 'https://gitlab.com/xxxx-xxxx/xxxxx/terraform.git'
sh "pwd"
sh "ls -lat"
}
}
stage('Set Terraform path') {
steps {
script {
def tfHome = tool name: 'Terraform'
env.PATH = "${tfHome}:${env.PATH}"
}
sh 'terraform version'
}
}
stage('Provision infrastructure') {
steps {
dir('environments/dev')
{
withCredentials([azureServicePrincipal('xxx-test-service-principal')]) {
script{
sh 'terraform init'
sh 'terraform plan'
sh 'az login --service-principal -u $AZURE_CLIENT_ID -p $AZURE_CLIENT_SECRET -t $AZURE_TENANT_ID'
}
}
// sh ‘terraform destroy -auto-approve’
}
}
}
}
}
我运行了上面运行 Terraform 初始化和计划的基本管道。我已使用创建的服务主体凭据对我想要创建资源的订阅进行身份验证,但即使 Azure CLI 插件已安装在我尝试运行此管道的 Jenkins 上,我也会收到以下错误。
[1m[31mError: [0m[0m[1mError刷新状态:发生1个错误:
* provider.azurerm:构建 AzureRM 客户端时出错:未找到 Azure CLI 授权配置文件。请确保已安装 Azure CLI,然后使用az login 登录。
[0米
[0m[0m[0m
【问题讨论】:
标签: azure jenkins-pipeline jenkins-plugins terraform-provider-azure