我的Azure管道如下所示:
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- task: terraform init
displayName: 'terraform init'
inputs:
provider: aws
backendServiceAWS: 'tcp-aws-aa'
backendAWSBucketName: 'terraform-backend-20200102'
backendAWSKey: dev.plan
- task: terraform fmt
displayName: 'terraform fmt'
inputs:
provider: aws
command: fmt
- task: terraform validate
displayName: 'terraform validate'
inputs:
provider: aws
command: validate
- task: terraform plan
displayName: 'terraform plan'
inputs:
provider: aws
command: plan
environmentServiceNameAWS: 'tcp-aws-aa'
- task: tflint check
inputs:
script: tflint .
- task: tfsec check
inputs:
script: tfsec .
但是,它会产生如下错误
如何解决?
好吧,看起来你想引用task: TerraformTaskV1@0
(基于语法),你应该这样使用:
- task: TerraformTaskV1@0
inputs:
provider: 'azurerm'
command: 'init'
backendAWSKey:
backendAWSBucketName:
它支持以下命令:
当然,要使用它,你需要安装此扩展。我猜想这是你应该根据输入设置使用的一种。它们与该扩展名完全相同。
你也在那里tflint
,tfsec
但是我没有找到扩展程序或本机解决方案,因此假设你将它们安装在代理上,则应该这样使用它们:
- script: |
tflint .
displayName: 'tflint check'
- script: |
tfsec .
displayName: 'tfsec check'
不过,感谢您的回答,它是指TerraformTaskV1 @ 0的地方?还有后来的语法?我需要在哪里检查?请指导。
请检查我的编辑。我在那里添加了信息。如果您还有其他问题,请随时提出。
太好了!,谢谢:)一切都很好。