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
Från din Azure DevOps-organisation väljer du Pipelines och Skapa pipeline.
Ange var koden lagras. Den här snabbstarten använder Azure Repos Git.
Välj den lagringsplats som har koden för projektet.
Välj Startpipeline för den typ av pipeline som ska skapas.
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
.
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'
Uppdatera värdena
azureServiceConnection
för ochlocation
.Kontrollera att du har en giltig
main.bicep
fil på lagringsplatsen.Kontrollera att du har en giltig
main.bicepparam
fil på lagringsplatsen som innehåller en using-instruktion .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.
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 tilltrue
. Standardvärdet ärfalse
.Uppdatera värdena
azureServiceConnection
för ochlocation
.Kontrollera att du har en giltig
main.bicepparam
fil på lagringsplatsen som innehåller en using-instruktion .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