Dela via


Snabbstart: Integrera Bicep med Azure Pipelines

Den här snabbstarten visar hur du integrerar Bicep-filer med Azure Pipelines för kontinuerlig integrering och kontinuerlig distribution.

Den ger en kort introduktion till pipeline-uppgiften som du behöver för att distribuera en Bicep-fil. Mer detaljerade anvisningar om hur du konfigurerar pipelinen och projektet finns i modulen Distribuera Azure-resurser med hjälp av Bicep och Azure Pipelines Microsoft Learn.

Förutsättningar

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Du behöver också en Azure DevOps-organisation. Om du inte har en kan du skapa en kostnadsfritt. Om ditt team redan har en Azure DevOps-organisation kontrollerar du att du är administratör för det Azure DevOps-projekt som du vill använda.

Du måste ha konfigurerat en tjänstanslutning till din Azure-prenumeration. Uppgifterna i pipelinen körs under identiteten för tjänstens huvudnamn. Anvisningar för hur du skapar anslutningen finns i Skapa ett DevOps-projekt.

Du behöver en Bicep-fil som definierar infrastrukturen för projektet. Den här filen finns på en lagringsplats.

Du behöver en ".bicepparam"-fil som definierar de parametrar som Bicep-filen använder. Den här filen finns på en lagringsplats.

Skapa rörledning

  1. Från din Azure DevOps-organisation väljer du Pipelines och Skapa pipeline.

    Skärmbild av att skapa en ny pipeline.

  2. Ange var koden lagras. Den här snabbstarten använder Azure Repos Git-lagringsplatser.

    Skärmbild av att välja kodkälla.

  3. Välj den lagringsplats som har koden för projektet.

    Skärmbild av att välja lagringsplats.

  4. Välj Startpipeline för den typ av pipeline som ska skapas.

    Skärmbild som visar val av pipeline.

Distribuera Bicep-filer

Du kan använda en Azure Resource Group-distributionsuppgift eller en Azure CLI-uppgift för att distribuera en Bicep-fil.

Använda Azure Resource Manager-malldistributionsuppgift

Anmärkning

Från och med Azure Resource Manager-malldistributionsaktivitet version 3.235.0 stöds användning av ".bicepparam" -filer.

Anmärkning

Uppgiften AzureResourceManagerTemplateDeployment@3 kräver att både Bicep- och .bicepparam-filer tillhandahålls när du använder .bicepparam. Bicep-filen kan referera till alla platser som stöds för modulreferenser. Filen .bicepparam måste ha en referens till den lokala Bicep-filen i instruktionen using.

  1. Ersätt din startpipeline med följande YAML. Det använder Azure Resource Manager-malldistributionsuppgiften för att skapa en resursgrupp och distribuera en Bicep- och en .bicepparam-fil.

    trigger:
    - main
    
    name: Deploy Bicep files
    
    parameters:
    - name: azureServiceConnection
      type: string
      default: '<your-connection-name>'
    
    variables:
      vmImageName: 'ubuntu-latest'
      resourceGroupName: 'exampleRG'
      location: '<your-resource-group-location>'
      templateFile: './main.bicep'
      csmParametersFile: './main.bicepparam'
    
    pool:
      vmImage: $(vmImageName)
    
    steps:
    - task: AzureResourceManagerTemplateDeployment@3
      inputs:
        deploymentScope: 'Resource Group'
        action: 'Create Or Update Resource Group'
        resourceGroupName: '$(resourceGroupName)'
        location: '$(location)'
        templateLocation: 'Linked artifact'
        csmFile: '$(templateFile)'
        csmParametersFile: '$(csmParametersFile)'
        overrideParameters: '-storageAccountType Standard_LRS'
        deploymentMode: 'Incremental'
        deploymentName: 'DeployPipelineTemplate'
        connectedServiceName: '${{ parameters.azureServiceConnection }}'
    
  2. Uppdatera värdena azureServiceConnection för och location.

  3. Kontrollera att du har en giltig main.bicep fil på lagringsplatsen.

  4. Kontrollera att du har en giltig main.bicepparam fil på lagringsplatsen som innehåller en using -instruktion.

  5. Välj Spara. Byggkedjan körs automatiskt. Gå tillbaka till sammanfattningen av din byggpipeline och titta på statusen.

Använd Azure CLI-uppdrag

Anmärkning

Kommandot az deployment group create kräver endast en bicepparam. fil. Instruktionen using i .bicepparam filen kan rikta sig mot vilken plats som helst som stöds för att referera till Bicep-filen. En Bicep-fil krävs bara på lagringsplatsen när using den kommer från en lokal disksökväg med Azure CLI.

Anmärkning

När du använder en .bicepparam fil med az deployment group create kommandot kan du inte åsidosätta parametrar.

  1. Ersätt din startpipeline med följande YAML. Den skapar en resursgrupp och distribuerar en .bicepparam fil med hjälp av en Azure CLI-uppgift:

    trigger:
    - main
    
    name: Deploy Bicep files
    
    parameters:
      azureServiceConnection: '<your-connection-name>'
    
    variables:
      vmImageName: 'ubuntu-latest'
      resourceGroupName: 'exampleRG'
      location: '<your-resource-group-location>'
      bicepParamFile: './main.bicepparam'
    
    pool:
      vmImage: $(vmImageName)
    
    steps:
    - task: AzureCLI@2
      inputs:
        azureSubscription: '${{ parameters.azureServiceConnection }}'
        scriptType: bash
        scriptLocation: inlineScript
        useGlobalConfig: false
        inlineScript: |
          az --version
          az group create --name $(resourceGroupName) --location $(location)
          az deployment group create `
            --resource-group $(resourceGroupName) `
            --parameters $(bicepParamFile) `
            --name DeployPipelineTemplate
    

    Beskrivningar av uppgiftsindata finns i Azure CLI v2-uppgift. När du använder uppgiften i ett luftgapat moln måste du ange useGlobalConfig aktivitetens egenskap till true. Standardvärdet är false.

  2. Uppdatera värdena azureServiceConnection för och location.

  3. Kontrollera att du har en giltig main.bicepparam fil på lagringsplatsen som innehåller en using -instruktion.

  4. Välj Spara. Byggkedjan körs automatiskt. Gå tillbaka till sammanfattningen av din byggpipeline och titta på statusen.

Rensa resurser

När Azure-resurserna inte längre behövs använder du Azure CLI eller Azure PowerShell för att ta bort snabbstartsresursgruppen.

az group delete --name exampleRG

Nästa steg