Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Služby Azure DevOps
Pokud chcete použít Azure DevOps CLI s kanálem YAML, můžete použít rozšíření Azure DevOps nebo použít úlohu AzureCLI. Agenti Windows a Linux hostovaní Microsoftem jsou předem nakonfigurovaní pomocí Azure CLI a rozšíření Azure DevOps CLI. Rozšíření Azure DevOps CLI spouští az devops příkazy.
Můžete provést ověření pomocí pat nebo můžete použít AzureCLI@2 úlohu s připojením ke službě. Použití připojení ke službě je bezpečnější možností, protože nebudete muset ručně spravovat přihlašovací údaje.
Ověřování pomocí Azure DevOps
Některé příkazy Rozhraní příkazového řádku Azure DevOps, například az devops configure a az devops --help, nevyžadují žádné ověřování. Nepřipojují se k Azure DevOps. Většina příkazů komunikuje s Azure DevOps a vyžaduje ověřování.
Můžete se ověřit pomocí tokenu zabezpečení System.AccessToken používaného spuštěným kanálem tak, že ho přiřadíte k proměnné prostředí s názvem AZURE_DEVOPS_EXT_PAT, jak je znázorněno v následujícím příkladu.
Použití System.AccessToken spoléhá na mít osobní přístupový token (PAT). Jako bezpečnější alternativu můžete k nastavení připojení služby použít úlohu AzureCLI@2.
- bash: |
az pipelines build list --organization '$(System.TeamFoundationCollectionUri)' --project '$(System.TeamProject)'
displayName: 'Show build list'
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
Pokud máte více kroků, které vyžadují ověření, přidejte proměnnou AZURE_DEVOPS_EXT_PAT prostředí do každého kroku.
Další informace o rozsahu tokenu zabezpečení používaného spuštěným kanálem najdete v tématu Přístupová úložiště, artefakty a další prostředky.
Další informace o ověřování pomocí tokenu PAT najdete v tématu Přihlášení pomocí osobního přístupového tokenu.
Přihlášení k Azure DevOps CLI pomocí agentů hostovaných ve Windows a Linuxu
Agenti Windows a Linux hostovaní Microsoftem jsou předem nakonfigurovaní pomocí Azure CLI a rozšíření Azure DevOps CLI.
Následující příklad ukazuje, jak se přihlásit k Azure DevOps a spustit několik příkazů. Tento příklad používá image agenta hostovaného Microsoftem ubuntu-latest . Můžete ho nahradit některou z ostatních imagí hostovaných ve Windows nebo Linuxu.
Tento příklad se ověřuje pomocí Azure DevOps CLI. Používá bezpečnostní token System.AccessToken, který používá běžící pipeline.
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)
Instalace rozšíření Azure DevOps CLI s agenty hostovanými v systému macOS
Agenti hostovaní Microsoftem v macOS mají nainstalované Rozhraní příkazového řádku Azure, ale ne rozšíření Azure DevOps CLI. Chcete-li nainstalovat rozšíření Azure DevOps CLI, spusťte ve vývojovém řetězci následující příkaz před provedením jakýchkoli volání Azure DevOps CLI.
# Install Azure DevOps extension
- bash: az extension add -n azure-devops
displayName: 'Install Azure DevOps extension'
Aktualizace verze hostovaného agenta Azure CLI
Agenti hostovaní Microsoftem obvykle nasazují týdenní aktualizace softwaru ve virtuálních prostředích. U některých nástrojů se používá nejnovější verze v době nasazení. V jiných případech je nástroj připnutý ke konkrétním verzím.
- Pokud chcete zkontrolovat zahrnutý software a jejich verze pro agenty hostované Microsoftem, včetně nainstalované verze Azure CLI a rozšíření Azure DevOps CLI, postupujte podle odkazů zahrnutý software v tabulce Software .
- Pokud chcete zkontrolovat aktuální verzi Azure CLI, přečtěte si, jak nainstalovat Azure CLI.
Azure CLI na hostovaných imagích můžete upgradovat spuštěním následujících příkazů ve vašem kanálu.
# 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'
Podmíněná instalace rozšíření Azure DevOps CLI
Pokud váš kanál běží na několika imagích virtuálních počítačů hostovaných Microsoftem, některé z nich nemají nainstalované rozšíření Azure DevOps CLI, můžete podmíněně nainstalovat.
trigger:
- main
# Run on multiple Microsoft-hosted agent images
strategy:
matrix:
linux24:
imageName: "ubuntu-24.04"
linux22:
imageName: "ubuntu-22.04"
mac15:
imageName: "macos-15"
mac14:
imageName: "macos-14"
mac13:
imageName: "macos-13"
windows2025:
imageName: "windows-2025"
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'
Azure DevOps CLI s agenty v místním prostředí
Následující metody můžete použít k instalaci nebo upgradu Azure DevOps CLI ve vašem místním agentu.
- Ruční instalace Azure CLI a rozšíření Azure DevOps CLI
- Nainstalujte Azure CLI a rozšíření Azure DevOps CLI ve vaší pipelině
Ruční instalace Azure CLI a rozšíření Azure DevOps CLI
Instalace Azure CLI a rozšíření Azure DevOps CLI na vašem místním agentovi při vytváření image virtuálního počítače pro agenta je rychlejší než jejich instalace pokaždé, když je spuštěn pipeline.
Pokud chcete nainstalovat Azure CLI na image agenta v místním prostředí, přečtěte si téma Instalace Azure CLI. Existují samostatné pokyny pro Windows, Linux a macOS.
Po instalaci Azure CLI nainstalujte rozšíření Azure DevOps CLI.
Nainstalujte Azure CLI a rozšíření Azure DevOps CLI do vašeho pipeline.
Následující příklad konfigurace Azure CLI a rozšíření Azure DevOps CLI na agentovi hostovaném lokálně s použitím potrubí má následující předpoklady.
- Nainstalujte Azure CLI pomocí Pythonu. Python musí být nainstalovaný v agentu podle pokynů v úloze verze Pythonu – Jak můžu nakonfigurovat agenta v místním prostředí pro použití této úlohy?. Úloha
UsePythonVersion@0nenainstaluje Python do vašeho místního agenta. Pokud máte na svém agentovi nainstalovanou jen jednu verzi Pythonu a je zahrnuta v proměnné prostředí PATH, nemusíte tutoUsePythonVersion@0úlohu používat.
# 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'
Instalace rozšíření Azure CLI DevOps:
- Nainstaluje se Azure CLI verze 2.10.1 nebo novější.
- V agentovi a v cestě je nainstalovaná verze
bash. K použití úlohy Bash se vyžaduje instalace Bash.
# 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
# ...
Následující příklad nainstaluje Azure CLI následované rozšířením Azure DevOps CLI.
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
# ...
Přiřaďte výsledky volání Azure DevOps CLI k proměnné
Pokud chcete uložit výsledky volání Azure DevOps CLI do proměnné pipeline, použijte syntaxi task.setvariable, která je popsána v tématu Nastavení proměnných ve skriptech. Následující příklad získá ID skupiny proměnných s názvem Fabrikam-2023 a použije tuto hodnotu v následujícím kroku.
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'
Ověřování pomocí připojení ke službě
Pokud používáte služební připojení, služební připojení poskytuje nezbytné přihlašovací údaje pro příkazy Azure CLI a Azure DevOps CLI v úloze AzureCLI@2 bez nutnosti ruční správy přihlašovacích údajů v potrubí.
Note
Pokud používáte připojení služby pro ověřování s AzureCLI@2, musíte klientskou aplikaci služby přidat do organizace Azure DevOps ručně.
Tento vzorový kód definuje nový parametr serviceConnections názvem existujícího připojení služby. Na tento parametr se AzureCLI@2 odkazuje v úloze. Úkol obsahuje seznam všech projektů (az devops project list) a fondů (az pipelines pool list).
trigger:
- main
parameters:
- name: serviceConnection
displayName: Azure Service Connection Name
type: string
default: my-service-connection
steps:
- task: AzureCLI@2
condition: succeededOrFailed()
displayName: 'Azure CLI -> DevOps CLI'
inputs:
azureSubscription: '${{ parameters.serviceConnection }}'
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
Write-Host "Using logged-in Azure CLI session..."
Write-Host "$($PSStyle.Formatting.FormatAccent)az devops configure$($PSStyle.Reset)"
az devops configure --defaults organization=$(System.CollectionUri) project=$(System.TeamProject)
az devops configure -l
Write-Host "`nUse Azure DevOps CLI (az devops) to list projects in the organization '$(System.CollectionUri)'..."
Write-Host "$($PSStyle.Formatting.FormatAccent)az devops project list$($PSStyle.Reset)"
az devops project list --query "value[].{Name:name, Id:id}" `
-o table
Write-Host "`nUse Azure DevOps CLI (az pipelines) to list pools in the organization '$(System.CollectionUri)'..."
Write-Host "$($PSStyle.Formatting.FormatAccent)az pipelines pool list$($PSStyle.Reset)"
az pipelines pool list --query "[].{Id:id, Name:name}" `
-o table
failOnStandardError: true
Přiřaďte výsledky volání Azure DevOps CLI k proměnné
Pokud chcete uložit výsledky volání Azure DevOps CLI do proměnné pipeline, použijte syntaxi task.setvariable, která je popsána v tématu Nastavení proměnných ve skriptech. Následující příklad získá ID skupiny proměnných s názvem kubernetes a použije tuto hodnotu v dalším kroku.
trigger:
- main
variables:
- name: variableGroupId
parameters:
- name: serviceConnection
displayName: Azure Service Connection Name
type: string
default: my-service-connection
steps:
- task: AzureCLI@2
condition: succeededOrFailed()
displayName: 'Azure CLI -> DevOps CLI'
inputs:
azureSubscription: '${{ parameters.serviceConnection }}'
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
Write-Host "Using logged-in Azure CLI session..."
Write-Host "$($PSStyle.Formatting.FormatAccent)az devops configure$($PSStyle.Reset)"
az devops configure --defaults organization=$(System.CollectionUri) project=$(System.TeamProject)
az devops configure -l
$id = az pipelines variable-group list --group-name kubernetes --query [].id -o tsv
Write-Host "##vso[task.setvariable variable=variableGroupId]$id"
- task: AzureCLI@2
condition: succeededOrFailed()
displayName: 'Azure CLI -> DevOps CLI'
inputs:
azureSubscription: '${{ parameters.serviceConnection }}'
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
Write-Host "Using logged-in Azure CLI session..."
az pipelines variable-group variable list --group-id '$(variableGroupId)'
Další příklady práce s proměnnými, včetně práce s proměnnými napříč úlohami a fázemi, najdete v tématu Definice proměnných. Příklady syntaxe dotazu použité v předchozím příkladu najdete v tématu Dotazování výstupu příkazu Azure CLI pomocí dotazu JMESPath.