Hei,
Jeg er både ny til IaC og CICD pipelines i Azure devops.
Jeg har en main.bicep fil som deployer en sql-server, database og en keyvault i samme prosess. Når jeg deployer via VSCode så fungerer dette smertefritt. Når jeg derimot kjører dette via Azure devops, så feiler pipelinen med:
keyvault-xxxxxx could not be found. Det virker på meg som om at keyvault og sql-server forsøkes å deployes parallelt. Selv om jeg i main.bicep spesifiserer at sql-server dependsOn keyvault.
Virker som dette blir ignorert i Azure devops. Noen som har en løsning? Jeg har prøvd å google dette i et par timer nå, uten at jeg kommer stort lengre.
Yaml-fila ser slik ut:
trigger:
– master
pool:
vmImage: ‘ubuntu-latest’
stages:
– stage: Build
jobs:
– job: Build
steps:
– script: echo Hello, world!
displayName: ‘Run Build steps’
– task: CopyFiles@2
displayName: ‘Include templates in the artifact’
inputs:
Contents: |
main.bicep
parametersparameters.dev.json
moduleswebApp.bicep
modulesappServicePlan.bicep
modulessqlServer.bicep
modulessqlDB.bicep
moduleskeyvault.bicep
TargetFolder: ‘$(Build.ArtifactStagingDirectory)’
– task: PublishBuildArtifacts@1
displayName: ‘Publish artifact’
inputs:
PathtoPublish: ‘$(Build.ArtifactStagingDirectory)’
ArtifactName: ‘drop’
publishLocation: ‘Container’
– stage: DEV
jobs:
– job: Deploy
steps:
– script: |
echo «Structure of work folder of this pipeline:»
tree $(Pipeline.Workspace)
– task: DownloadBuildArtifacts@0
displayName: ‘Download artifact’
inputs:
buildType: ‘current’
downloadType: ‘single’
artifactName: ‘drop’
downloadPath: ‘$(System.ArtifactsDirectory)’
– task: AzureCLI@2
displayName: ‘Deploy Bicep file’
inputs:
azureSubscription: ‘subscription’
scriptType: ‘bash’
scriptLocation: ‘inlineScript’
inlineScript: |
# Creating a resource group
az group create
–name $(resourceGroupName)
–location norwayeast
# Deploying Bicep file
az deployment sub create
–location=’norwayeast’
–name $(Build.BuildNumber)
–template-file $(Pipeline.Workspace)/s/main.bicep
–parameters @$(Pipeline.Workspace)/s/parameters/parameters.dev.json