Julien Corioland d05f030d03
Fix integration testing sample path (#58)
* fix path in pipeline for integration-testing sample
* add exec permission on checkov.sh
2020-10-09 10:22:21 +02:00

56 lines
2.5 KiB
YAML

# Azure Pipeline that run basic continuous integration on a Terraform project
# This makes sure the pipeline is triggered every time code is pushed in the validation-testing example source, on all branches.
trigger:
branches:
include:
- '*'
paths:
include:
- 'samples/integration-testing/src/*'
variables:
# There must be an Azure Service Connection with that name defined in your Azure DevOps settings. See https://docs.microsoft.com/en-us/azure/devops/pipelines/library/connect-to-azure?view=azure-devops
serviceConnection: 'terraform-basic-testing-azure-connection'
azureLocation: 'westeurope'
# Terraform settings
terraformWorkingDirectory: '$(System.DefaultWorkingDirectory)/samples/integration-testing/src'
terraformVersion: '0.12.25'
stages:
- stage: TerraformContinuousIntegration
displayName: Terraform Module - CI
jobs:
- job: TerraformContinuousIntegrationJob
displayName: TerraformContinuousIntegration - CI Job
pool:
vmImage: ubuntu-20.04
steps:
# Step 1: run the Checkov Static Code Analysis
- bash: $(terraformWorkingDirectory)/checkov.sh $(terraformWorkingDirectory)
displayName: Checkov Static Code Analysis
# Step 2: install Terraform on the Azure Pipelines agent
- task: charleszipp.azure-pipelines-tasks-terraform.azure-pipelines-tasks-terraform-installer.TerraformInstaller@0
displayName: 'Install Terraform'
inputs:
terraformVersion: $(terraformVersion)
# Step 3: run Terraform init to initialize the workspace
- task: charleszipp.azure-pipelines-tasks-terraform.azure-pipelines-tasks-terraform-cli.TerraformCLI@0
displayName: 'Run terraform init'
inputs:
command: init
workingDirectory: $(terraformWorkingDirectory)
# Step 4: run Terraform validate to validate HCL syntax
- task: charleszipp.azure-pipelines-tasks-terraform.azure-pipelines-tasks-terraform-cli.TerraformCLI@0
displayName: 'Run terraform validate'
inputs:
command: validate
workingDirectory: $(terraformWorkingDirectory)
# Step 5: run Terraform plan to validate HCL syntax
- task: charleszipp.azure-pipelines-tasks-terraform.azure-pipelines-tasks-terraform-cli.TerraformCLI@0
displayName: 'Run terraform plan'
inputs:
command: plan
workingDirectory: $(terraformWorkingDirectory)
environmentServiceName: $(serviceConnection)
commandOptions: -var location=$(azureLocation)