Gå til innhold

Azure Bicep (ARM templates) og Azure Devops CICD pipeline


Anbefalte innlegg

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
          parameters\parameters.dev.json
          modules\webApp.bicep
          modules\appServicePlan.bicep
          modules\sqlServer.bicep
          modules\sqlDB.bicep
          modules\keyvault.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 \
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...