Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Azure DevOps Services
Om du vill använda Azure DevOps CLI med en YAML-pipeline kan du använda följande exempel för att installera Azure CLI, lägga till Azure DevOps-tillägget och köra Azure DevOps CLI-kommandon.
Anteckning
Stegen i den här artikeln visar hur du autentiserar med Azure DevOps och kör az devops
kommandon med hjälp av Azure DevOps CLI-tillägget. Om du vill använda Azure CLI för att interagera med Azure-resurser använder du AzureCLI-uppgiften.
Vissa Azure DevOps CLI-kommandon som inte anropar till Azure DevOps, som az devops configure
och az devops -h
, kräver ingen autentisering, men de flesta kommandon interagerar med Azure DevOps och kräver autentisering. Du kan autentisera med säkerhetstoken System.AccessToken som används av pipelinen som körs genom att tilldela den till en miljövariabel med namnet AZURE_DEVOPS_EXT_PAT
, enligt följande exempel.
- bash: |
az pipelines build list --organization '$(System.TeamFoundationCollectionUri)' --project '$(System.TeamProject)'
displayName: 'Show build list'
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
Om du har flera steg som kräver autentisering lägger du till AZURE_DEVOPS_EXT_PAT
miljövariabeln i varje steg.
Mer information om omfattningen för den säkerhetstoken som används av pipelinen som körs finns i Åtkomstlagringsplatser, artefakter och andra resurser.
Mer information om autentisering med hjälp av en personlig åtkomsttoken finns i Logga in med en personlig åtkomsttoken (PAT)..
Microsoft-värdbaserade Windows- och Linux-agenter är förkonfigurerade med Azure CLI och Azure DevOps CLI-tillägget.
I följande exempel visas hur du loggar in på Azure DevOps och kör några kommandon. I det här exemplet används microsoft-värdbaserad ubuntu-latest
agentbild, men du kan ersätta den med någon av de andra Windows- eller Linux-värdbaserade avbildningarna.
Det här exemplet autentiserar med Azure DevOps CLI med säkerhetstoken System.AccessToken som används av pipelinen som körs.
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
steps:
- bash: az --version
displayName: 'Show Azure CLI version'
- bash: az devops configure --defaults organization='$(System.TeamFoundationCollectionUri)' project='$(System.TeamProject)' --use-git-aliases true
displayName: 'Set default Azure DevOps organization and project'
- bash: |
az pipelines build list
git pr list
displayName: 'Show build list and PRs'
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
MacOS Microsoft-värdbaserade agenter har Azure CLI installerat men inte Azure DevOps CLI-tillägget. Om du vill installera Azure DevOps CLI-tillägget kör du följande kommando i pipelinen innan du gör några Azure DevOps CLI-anrop.
# Install Azure DevOps extension
- bash: az extension add -n azure-devops
displayName: 'Install Azure DevOps extension'
Microsoft-värdbaserade agenter distribuerar vanligtvis veckouppdateringar till programvaran i de virtuella miljöerna. För vissa verktyg används den senaste versionen vid tidpunkten för distributionen. för andra är verktyget fäst på specifika versioner.
Du kan uppgradera Azure CLI på dina värdbaserade avbildningar genom att köra följande kommandon i pipelinen.
# Specify python version
- task: UsePythonVersion@0
inputs:
versionSpec: '3.x'
architecture: 'x64'
# Update to latest Azure CLI version
- bash: pip install --pre azure-cli
displayName: 'Upgrade Azure CLI'
Om din pipeline körs på flera Microsoft-värdbaserade VM-avbildningar, varav vissa inte har Azure DevOps CLI-tillägget installerat, utför du installationen villkorligt.
trigger:
- main
# Run on multiple Microsoft-hosted agent images
strategy:
matrix:
linux22:
imageName: "ubuntu-22.04"
linux20:
imageName: "ubuntu-20.04"
mac13:
imageName: "macos-13"
mac12:
imageName: "macos-12"
mac11:
imageName: "macos-11"
windows2019:
imageName: "windows-2019"
windows2022:
imageName: "windows-2022"
maxParallel: 3
pool:
vmImage: $(imageName)
steps:
- bash: az --version
displayName: 'Show Azure CLI version'
# Install Azure DevOps CLI extension only on macOS images
- bash: az extension add -n azure-devops
condition: contains(variables.imageName, 'mac')
displayName: 'Install Azure DevOps extension'
# Azure DevOps CLI extension call that does not require login or credentials
# since it configures the local environment
- bash: az devops configure --defaults organization='$(System.TeamFoundationCollectionUri)' project='$(System.TeamProject)' --use-git-aliases true
displayName: 'Set default Azure DevOps organization and project'
# Call that does require credentials, use the System.AccessToken PAT
# and assign to AZURE_DEVOPS_EXT_PAT which is known to Azure DevOps CLI extension
- bash: |
az pipelines build list
git pr list
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
displayName: 'Show build list and PRs'
Du kan använda följande metoder för att installera eller uppgradera Azure DevOps CLI i din lokala agent.
Det går snabbare att installera Azure CLI- och Azure DevOps CLI-tillägget på din lokala agent när du etablerar den virtuella datoravbildningen för agenten än att installera dem varje gång pipelinen körs.
Följande exempel på hur du konfigurerar Azure CLI och Azure DevOps CLI-tillägget på en lokalt installerad agent med hjälp av en pipeline har följande förutsättningar.
UsePythonVersion@0
installerar inte Python på din egen värdbaserade agent. Om du bara har en version av Python installerad på din lokalt installerad agent och den finns i sökvägen behöver du inte använda uppgiften UsePythonVersion@0
.# Specify python version if you have side-by-side versions
- task: UsePythonVersion@0
inputs:
versionSpec: '3.x'
architecture: 'x64'
# Update pip to latest
- bash: python -m pip install --upgrade pip
displayName: 'Upgrade pip'
# Update to latest Azure CLI version, min version required for Azure DevOps is 2.10.1
- bash: pip install --pre azure-cli
displayName: 'Upgrade Azure CLI'
bash
installerad på agenten och i sökvägen. En bash-installation krävs för att använda bash-uppgiften.# Install Azure DevOps extension
- bash: az extension add -n azure-devops
displayName: 'Install Azure DevOps extension'
# Now you can make calls into Azure DevOps CLI
# ...
I följande exempel installeras Azure CLI följt av Azure DevOps CLI-tillägget.
steps:
# Specify python version if you have side-by-side versions
- task: UsePythonVersion@0
inputs:
versionSpec: '3.x'
architecture: 'x64'
# Update pip to latest
- bash: python -m pip install --upgrade pip
displayName: 'Upgrade pip'
# Update to latest Azure CLI version, min version required for Azure DevOps is 2.10.1
- bash: pip install --pre azure-cli
displayName: 'Upgrade Azure CLI'
# Install Azure DevOps extension
- bash: az extension add -n azure-devops
displayName: 'Install Azure DevOps extension'
# Now you can make calls into Azure DevOps CLI
# ...
Om du vill lagra resultatet av ett Azure DevOps CLI-anrop till en pipelinevariabel använder du syntaxen task.setvariable
som beskrivs i Ange variabler i skript. I följande exempel hämtas ID:t för en variabelgrupp med namnet Fabrikam-2023 och använder sedan det här värdet i ett efterföljande steg.
variables:
- name: variableGroupId
trigger: none
pool:
vmImage: "ubuntu-latest"
steps:
- bash: az devops configure --defaults organization='$(System.TeamFoundationCollectionUri)' project='$(System.TeamProject)' --use-git-aliases true
displayName: 'Set default Azure DevOps organization and project'
- bash: echo "##vso[task.setvariable variable=variableGroupId]$(az pipelines variable-group list --group-name Fabrikam-2023 --query [].id -o tsv)"
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
displayName: 'Get Fabrikam-2023 variable group id'
- bash: az pipelines variable-group variable list --group-id '$(variableGroupId)'
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
displayName: 'List variables in Fabrikam-2023 variable group'
Fler exempel på hur du arbetar med variabler, inklusive att arbeta med variabler mellan jobb och faser, finns i Definiera variabler. Exempel på den frågesyntax som användes i föregående exempel finns i Köra frågor mot Azure CLI-kommandoutdata med hjälp av en JMESPath-fråga.
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuUtbildning
Modul
Hantera och modularisera uppgifter och mallar - Training
Hantera och modularisera uppgifter och mallar
Certifiering
Microsoft-certifierad: DevOps-teknikerexpert - Certifications
Den här certifieringen mäter din förmåga att utföra följande tekniska uppgifter: Utforma och implementera processer och kommunikation, utforma och implementera en källkontrollstrategi, utforma och implementera bygg- och versionspipelines, utveckla en säkerhets- och efterlevnadsplan och implementera en instrumenteringsstrategi.
Dokumentation
AzureCLI@2 – Azure CLI v2-uppgift
Kör Azure CLI-kommandon mot en Azure-prenumeration i ett PowerShell Core/Shell-skript när du kör på Linux-agenten eller PowerShell/PowerShell Core/Batch-skript när du kör på Windows-agenten.
AzureCLI@1 – Azure CLI v1-uppgift
Kör Azure CLI-kommandon mot en Azure-prenumeration i ett Shell-skript när du kör på Linux-agenten eller Batch-skriptet när du kör på Windows-agenten.
Azure DevOps CLI i en versionspipeline - Azure DevOps
Lär dig hur du skapar en versionspipeline med Hjälp av Azure DevOps CLI