Megosztás a következőn keresztül:


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ák segítségével telepítheti az Azure CLI-t, hozzáadhatja az Azure DevOps bővítményt, és futtathat Azure DevOps CLI-parancsokat.

Feljegyzé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 DevOps használatával működik, é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_PATkörnyezeti változóhoz, ahogyan az az alábbi példában is látható.

- bash: |
    az pipelines build list --organization '$(System.TeamFoundationCollectionUri)' --project '$(System.TeamProject)'
  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ókra 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.

Az Azure CLI frissíthető az üzemeltetett rendszerképeken az alábbi parancsok futtatásával a folyamatban.

# 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 a folyamat több Microsoft által üzemeltetett virtuálisgép-lemezképen fut, amelyek közül néhány nem rendelkezik az Azure DevOps CLI-bővítmény telepítésével, a telepítést feltételesen hajtja végre.

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

Az alábbi módszerekkel telepítheti vagy frissítheti az Azure DevOps CLI-t a saját üzemeltetésű ügynökében.

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-lemezképének kiépítésekor 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.

# 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'
  • Az Azure CLI DevOps-bővítmény telepítése
# 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.