- VS Code
- VS Code extensions:
- Bicep
- Azure Resource Manager (ARM) Tools
- Powershell
- Azure CLI version 2.53.0 or newer
- Bicep CLI version 0.22.6 or higher
- Powershell Core 7.2 or higher
- Key concepts for new Azure Pipelines users
- Jobs run on agents, so you cannot use different agents for tasks, but you can run jobs on different types of agents. Also, you can choose agent types for Stages.
- Continuous Integration vs Continuous Deployment vs Continuous Delivery concepts
- Connect ADO to Azure tenant
- Create Workload identity service connection twice for
dev
andprod
deployments - Issue with authentication to Container Registry
- Azure/bicep#11840
-
Create file
pipelines/deploy-infra.yaml
-
Add the below content to the file
pool: vmImage: 'ubuntu-latest' steps: - script: | echo "Hello" echo "World!"
-
Commit and push the file
-
Create the pipeline from file and run
- task: AzurePowerShell@5
inputs:
azureSubscription: 'Training-DEV-SCN'
ScriptType: 'FilePath'
ScriptPath: './scripts/Deploy-Infrastructure.ps1'
ScriptArguments: '-ResourceGroupName "pw-bicep-ado-training-dev"'
azurePowerShellVersion: 'OtherVersion'
preferredAzurePowerShellVersion: 10.3.0
pwsh: true
workingDirectory: '$(Build.SourcesDirectory)'
-
If you are using only variables in file, the below syntax is also valid:
variable: <variable_name>: <variable_value>
- https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/deploy-what-if?tabs=azure-powershell
- Use Splatting to extract parameter from command
- Variables in Pipelines are passed as strings
- Remember about dependency between jobs
- Separated parameter files for production and development and regions Poland Central and West Europe (file name:
app.<region>.<env>.bicepparam
) - Related resource groups in format
***-<region>-<env>-rg
- Possibility to override Location during deployment
- Define multi-job configuration
- Update script to generate resource group name based on parameters
- For
main
branch the deployments for dev and prod should run in parallel