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 (CI/CD).

Den ger en kort introduktion till pipelineaktiviteten som du behöver för att distribuera en Bicep-fil. Om du vill ha mer detaljerade steg för att konfigurera pipelinen och projektet kan du läsa Distribuera Azure-resurser med hjälp av Bicep och Azure Pipelines.

Förutsättningar

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

Du behöver 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 används av bicep-filen. Den här filen finns på en lagringsplats.

Skapa pipeline

  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.

    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 av att välja pipeline.

Distribuera Bicep-filer

Du kan använda azure resource group deployment task eller Azure CLI-uppgift för att distribuera en Bicep-fil.

Använda azure Resource Manager-malldistributionsuppgift

Kommentar

Från och med version 3.235.0 av azure resource manager-malldistributionsuppgiften stöds användning av bicepparam-filer .

Kommentar

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. Bicepparam-filen måste referera till den lokala Bicep-filen i -instruktionen using .

  1. Ersätt din startpipeline med följande YAML. Den skapar en resursgrupp och distribuerar en Bicep- och bicepparam-fil med hjälp av azure resource manager-malldistributionsuppgiften.

    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'
        azureSubscription: '${{ parameters.azureServiceConnection }}'
        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'
    
  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. Bygg-pipelinen körs automatiskt. Gå tillbaka till sammanfattningen för bygg-pipelinen och titta på statusen.

Använda Azure CLI-uppgift

Kommentar

Kommandot az deployment group create kräver endast en bicepparam-fil. Instruktionen using i bicepparam-filen kan rikta in sig på valfri plats 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.

Kommentar

När du använder en bicepparam-fil med kommandot az deployment group create 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-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. Bygg-pipelinen körs automatiskt. Gå tillbaka till sammanfattningen för bygg-pipelinen 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