Terraform Plan을 실행한 후 배포를 진행하는 Azure DevOps 파이프라인을 구성했습니다.
Plan 작업은 정상적으로 수행되고, 승인 단계에서 잠시 멈춘 다음, 다시 Init을 시도하고 배포 단계로 넘어가려 할 때 아래와 같은 오류가 발생합니다:
Terraform을 다시 설치하는 작업을 추가하려고 했지만, 효과가 없었습니다.
빌드 파이프라인에서 무엇이 잘못되었는지 아시겠나요?
오류 메시지:
Starting: Terraform Init
==============================================================================
Task : Terraform
Description : Execute terraform commands to manage resources on AzureRM, Amazon Web Services(AWS) and Google Cloud Platform(GCP). v4.241.11
Version : 4.241.33
Author : Microsoft Corporation
Help : [Learn more about this task](https://aka.ms/devlabs/ado/tf/task/v4)
==============================================================================
##[error]Error: **Failed to find terraform tool in paths
Finishing: Terraform Init**
Pipeline:
pr: none
trigger: none
stages:
- stage:
displayName: Terraform Plan
jobs:
- job: TerraformPlan
displayName: Terraform Plan
condition: succeeded()
pool: azc-vmss-man-ado-uks-001
steps:
- task: TerraformInstaller@1
inputs:
terraformVersion: 'latest'
- task: TerraformTaskV4@4
displayName: Terraform Init
inputs:
provider: 'azurerm'
command: 'init'
workingDirectory: '$(System.DefaultWorkingDirectory)/projects/skeleton'
backendAzureRmUseEnvironmentVariablesForAuthentication: false
backendAzureRmUseEntraIdForAuthentication: false
backendServiceArm: 'azure-dev'
backendAzureRmResourceGroupName: 'azc-rg-dev-devops-uks-001'
backendAzureRmStorageAccountName: 'azcstordevterfrmuks001'
backendAzureRmContainerName: 'terraform'
backendAzureRmKey: 'skeleton'
- task: TerraformTaskV4@4
displayName: Terraform Plan
inputs:
provider: 'azurerm'
command: 'plan'
workingDirectory: '$(System.DefaultWorkingDirectory)/projects/skeleton'
commandOptions: '-var-file=./tfvars/dev.tfvars -out=deployment.tfplan -input=false -out=deployment.tfplan'
environmentServiceNameAzureRM: 'azure-dev'
- stage:
displayName: Terraform Apply
jobs:
- deployment: Apply
pool: azc-vmss-man-ado-uks-001
environment: azure-spoke-dev-app-skeleton
displayName: Terraform Apply
condition: succeeded()
strategy:
runOnce:
deploy:
steps:
- task: TerraformTaskV4@4
displayName: Terraform Init
inputs:
provider: 'azurerm'
command: 'init'
workingDirectory: '$(System.DefaultWorkingDirectory)/projects/skeleton'
backendAzureRmUseEnvironmentVariablesForAuthentication: false
backendAzureRmUseEntraIdForAuthentication: false
backendServiceArm: 'azure-dev'
backendAzureRmResourceGroupName: 'azc-rg-dev-devops-uks-001'
backendAzureRmStorageAccountName: 'azcstordevterfrmuks001'
backendAzureRmContainerName: 'terraform'
backendAzureRmKey: 'skeleton'
- task: TerraformTaskV4@4
displayName: Terraform Plan
inputs:
provider: 'azurerm'
command: 'plan'
workingDirectory: '$(System.DefaultWorkingDirectory)/projects/skeleton'
commandOptions: '-var-file=./tfvars/dev.tfvars -out=deployment.tfplan -input=false -out=deployment.tfplan'
environmentServiceNameAzureRM: 'azure-dev'
- task: TerraformTaskV4@4
inputs:
provider: 'azurerm'
command: 'apply'
workingDirectory: '$(System.DefaultWorkingDirectory)/projects/skeleton'
commandOptions: '-input=false deployment.tfplan'
environmentServiceNameAzureRM: 'azure-dev'