Azure DevOps CLI az Azure Pipeline YAML-ben
Azure DevOps Services
Ha YAML-folyamattal szeretné használni az Azure DevOps CLI-t, az alábbi példában megismerheti, hogyan használható a YAML az Azure CLI telepítéséhez, az Azure DevOps-bővítmény hozzáadásához és az Azure DevOps CLI-parancsok futtatásához.
Megjegyzés:
A cikk lépései bemutatják, hogyan hitelesíthető az Azure DevOpsszal, és hogyan futtathat az devops
parancsokat az Azure DevOps CLI-bővítmény használatával. Ha az Azure CLI használatával szeretne azure-erőforrásokat használni, használja az AzureCLI-feladatot.
Hitelesítés az Azure DevOpsszal
Egyes Azure DevOps CLI-parancsok, amelyek nem hívnak be az Azure DevOpsba, például az devops configure
és az devops -h
, nem igényelnek hitelesítést, de a legtöbb parancs az Azure DevOpsszal kommunikál, és hitelesítést igényel. A futtatási folyamat által használt System.AccessToken biztonsági jogkivonat használatával hitelesítheti, ha hozzárendeli egy nevesített AZURE_DEVOPS_EXT_PAT
környezeti változóhoz, ahogyan az az alábbi példában is látható.
- bash: |
az pipelines build list
displayName: 'Show build list'
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
Ha több, hitelesítést igénylő lépéssel rendelkezik, minden lépéshez adja hozzá a AZURE_DEVOPS_EXT_PAT
környezeti változót.
A futó folyamat által használt biztonsági jogkivonat hatókörével kapcsolatos további információkért lásd : Access-adattárak, összetevők és egyéb erőforrások.
A személyes hozzáférési jogkivonattal történő hitelesítéssel kapcsolatos további információkért lásd: Bejelentkezés személyes hozzáférési jogkivonattal (PAT).
Azure DevOps CLI Windows és Linux által üzemeltetett ügynökökkel
A Microsoft által üzemeltetett Windows- és Linux-ügynökök előre konfigurálva vannak az Azure CLI-vel és az Azure DevOps CLI-bővítménysel.
Az alábbi példa bemutatja, hogyan jelentkezhet be az Azure DevOpsba, és futtathat néhány parancsot. Ez a példa a ubuntu-latest
Microsoft által üzemeltetett ügynök lemezképét használja, de lecserélheti bármelyik másik Windows- vagy Linux-alapú lemezképre.
Ez a példa az Azure DevOps CLI-vel hitelesíti a futó folyamat által használt System.AccessToken biztonsági jogkivonatot.
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)
Azure DevOps CLI macOS által üzemeltetett ügynökökkel
A macOS Microsoft által üzemeltetett ügynökök telepítve vannak az Azure CLI-vel, de az Azure DevOps CLI-bővítmény nem. Az Azure DevOps CLI-bővítmény telepítéséhez futtassa a következő parancsot a folyamatban, mielőtt bármilyen Azure DevOps CLI-hívást indítanának.
# Install Azure DevOps extension
- bash: az extension add -n azure-devops
displayName: 'Install Azure DevOps extension'
Üzemeltetett ügynök Azure CLI-verziója
A Microsoft által üzemeltetett ügynökök általában heti frissítéseket helyeznek üzembe a szoftveren a virtuális környezetekben. Egyes eszközök esetében a rendszer az üzembe helyezéskor a legújabb verziót használja; mások számára az eszköz meghatározott verzió(ok)ra van rögzítve.
- Ha ellenőrizni szeretné a Microsoft által üzemeltetett ügynökökhöz tartozó szoftvereket és azok verzióit, beleértve az Azure CLI és az Azure DevOps CLI bővítmény telepített verzióját, kövesse a szoftvertáblában szereplő szoftverhivatkozásokat.
- Az Azure CLI aktuális verziójának ellenőrzéséhez tekintse meg az Azure CLI telepítését ismertető témakört.
Ha az Azure CLI újabb verziója jelenik meg, és a üzemeltetett rendszerképek még nem rendelkeznek a legújabb verzióval, az Alábbi parancsok futtatásával frissítheti az Azure CLI-verziót a legújabb verzióra.
# 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'
Az Azure DevOps CLI-bővítmény feltételes telepítése
Ha több, Microsoft által üzemeltetett virtuálisgép-lemezképen futó folyamattal rendelkezik, amelyek némelyike nem rendelkezik az Azure DevOps CLI-bővítményrel, ezt a lépést feltételesen hajthatja végre, ahogyan az az alábbi példában is látható.
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'
Azure DevOps CLI saját üzemeltetésű ügynökökkel
Ha a saját üzemeltetésű ügynök nincs konfigurálva az Azure DevOps CLI használatához szükséges szoftverrel, vagy ha meg szeretné győződni arról, hogy a legújabb verziókkal rendelkezik, az alábbi lépésekkel telepítheti a szükséges szoftvert.
- Az Azure CLI és az Azure DevOps CLI bővítmény manuális telepítése
- Az Azure CLI és az Azure DevOps CLI bővítmény telepítése a folyamatba
Az Azure CLI és az Azure DevOps CLI bővítmény manuális telepítése
Az Azure CLI és az Azure DevOps CLI bővítmény telepítése a saját üzemeltetésű ügynökre az ügynök virtuálisgép-rendszerképének kiépítésekor sokkal gyorsabb, mint a folyamat minden futtatásakor.
- Ha telepíteni szeretné az Azure CLI-t a saját üzemeltetésű ügynök rendszerképére, olvassa el az Azure CLI telepítése című témakört. A Windows, Linux és macOS rendszerre külön utasítások vannak.
- Az Azure CLI telepítése után telepítse az Azure DevOps CLI-bővítményt.
Az Azure CLI és az Azure DevOps CLI bővítmény telepítése a folyamatba
A következő példa az Azure CLI és az Azure DevOps CLI-bővítmény konfigurálására egy saját üzemeltetésű ügynökön folyamat használatával az alábbi előfeltételekkel rendelkezik.
Az Azure CLI telepítése a Python használatával
- A Pythont a Python verziófeladat utasításainak megfelelően kell telepíteni az ügynökre – Hogyan konfigurálhatok saját üzemeltetésű ügynököt a feladat használatára? A
UsePythonVersion@0
feladat nem telepíti a Pythont a saját üzemeltetésű ügynökére. Ha a Pythonnak csak egy verziója van telepítve a saját üzemeltetésű ügynökén, és az elérési úton van, akkor nem kell használnia aUsePythonVersion@0
feladatot.
# 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'
- A Pythont a Python verziófeladat utasításainak megfelelően kell telepíteni az ügynökre – Hogyan konfigurálhatok saját üzemeltetésű ügynököt a feladat használatára? A
Az Azure CLI DevOps-bővítmény telepítése
- Az Azure CLI 2.10.1-es vagy újabb verziója telepítve van.
- Az ügynökön és az elérési úton telepítve van egy verzió
bash
. A bash-feladat használatához bash-telepítés szükséges.
# 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 # ...
Az alábbi példa telepíti az Azure CLI-t, majd az Azure DevOps CLI-bővítményt.
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
# ...
Azure DevOps CLI-hívás eredményeinek hozzárendelése változóhoz
Az Azure DevOps CLI-hívás eredményeinek egy folyamatváltozóhoz való tárolásához használja a task.setvariable
Változók beállítása szkriptekben című szakaszban leírt szintaxist. Az alábbi példa egy Fabrikam-2023 nevű változócsoport azonosítóját kéri le, majd ezt az értéket használja egy következő lépésben.
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'
További példák a változók használatára, beleértve a különböző feladatok és szakaszok változóinak kezelését, lásd : Változók definiálása. Az előző példában használt lekérdezési szintaxisra példa: Az Azure CLI-parancs kimenetének lekérdezése JMESPath-lekérdezés használatával.
Kapcsolódó cikkek
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: