Azure Pipeline YAML'de Azure DevOps CLI
Azure DevOps Services
Azure DevOps CLI'yı bir YAML işlem hattıyla kullanmak isterseniz, Azure CLI'yı yüklemek, Azure DevOps uzantısını eklemek ve Azure DevOps CLI komutlarını çalıştırmak için aşağıdaki örnekleri kullanabilirsiniz.
Not
Bu makaledeki adımlarda Azure DevOps CLI uzantısını kullanarak Azure DevOps ile kimlik doğrulaması ve komut çalıştırma az devops
adımları gösterilmektedir. Azure kaynaklarıyla etkileşimde bulunurken Azure CLI kullanmak istiyorsanız AzureCLI görevini kullanın.
Azure DevOps ile kimlik doğrulaması
ve az devops -h
gibi az devops configure
Azure DevOps'a çağrı yapmayan bazı Azure DevOps CLI komutları herhangi bir kimlik doğrulaması gerektirmez, ancak çoğu komut Azure DevOps ile etkileşim kurar ve kimlik doğrulaması gerektirir. Aşağıdaki örnekte gösterildiği gibi, çalışan işlem hattı tarafından kullanılan System.AccessToken güvenlik belirtecini adlı AZURE_DEVOPS_EXT_PAT
bir ortam değişkenine atayarak kimlik doğrulaması yapabilirsiniz.
- bash: |
az pipelines build list --organization '$(System.TeamFoundationCollectionUri)' --project '$(System.TeamProject)'
displayName: 'Show build list'
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
Kimlik doğrulaması gerektiren birden çok adımınız varsa, her adıma ortam değişkenini AZURE_DEVOPS_EXT_PAT
ekleyin.
Çalışan işlem hattı tarafından kullanılan güvenlik belirtecinin kapsamı hakkında daha fazla bilgi için bkz . Erişim depoları, yapıtlar ve diğer kaynaklar.
Kişisel erişim belirteci kullanarak kimlik doğrulaması hakkında daha fazla bilgi için bkz . Kişisel erişim belirteci (PAT) ile oturum açma.
Windows ve Linux tarafından barındırılan aracılarla Azure DevOps CLI
Microsoft tarafından barındırılan Windows ve Linux aracıları, Azure CLI ve Azure DevOps CLI uzantısı ile önceden yapılandırılmıştır.
Aşağıdaki örnekte Azure DevOps'ta oturum açma ve birkaç komut çalıştırma adımları gösterilmektedir. Bu örnekte Microsoft tarafından barındırılan ubuntu-latest
aracı görüntüsü kullanılır, ancak diğer Windows veya Linux tarafından barındırılan görüntülerle değiştirebilirsiniz.
Bu örnek, çalışan işlem hattı tarafından kullanılan System.AccessToken güvenlik belirtecini kullanarak Azure DevOps CLI ile kimlik doğrulaması yapar.
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 tarafından barındırılan aracılarla Azure DevOps CLI
macOS Microsoft tarafından barındırılan aracılarda Azure CLI yüklüdür ancak Azure DevOps CLI uzantısı yüklü değildir. Azure DevOps CLI uzantısını yüklemek için, herhangi bir Azure DevOps CLI çağrısı yapmadan önce işlem hattınızda aşağıdaki komutu çalıştırın.
# Install Azure DevOps extension
- bash: az extension add -n azure-devops
displayName: 'Install Azure DevOps extension'
Barındırılan aracı Azure CLI sürümü
Microsoft tarafından barındırılan aracılar genellikle sanal ortamlarda yazılıma haftalık güncelleştirmeler dağıtır. Bazı araçlar için dağıtım sırasındaki en son sürüm kullanılır; diğer kullanıcılar için araç belirli sürümlere sabitlenir.
- Azure CLI ve Azure DevOps CLI uzantısının yüklü sürümü de dahil olmak üzere microsoft tarafından barındırılan aracılar için dahil edilen yazılımları ve bunların sürümlerini denetlemek için Yazılım tablosundaki Dahil Edilen Yazılım bağlantılarını izleyin.
- Azure CLI'nın geçerli sürümünü denetlemek için bkz . Azure CLI'yı yükleme.
İşlem hattınızda aşağıdaki komutları çalıştırarak barındırılan görüntülerinizde Azure CLI'yi yükseltebilirsiniz.
# 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'
Azure DevOps CLI uzantısını koşullu olarak yükleme
İşlem hattınız Microsoft tarafından barındırılan ve bazıları Azure DevOps CLI uzantısı yüklü olmayan birkaç VM görüntüsünde çalışıyorsa, yüklemeyi koşullu olarak gerçekleştirirsiniz.
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'
Şirket içinde barındırılan aracılarla Azure DevOps CLI
Şirket içinde barındırılan aracınızda Azure DevOps CLI'yi yüklemek veya yükseltmek için aşağıdaki yöntemleri kullanabilirsiniz.
- Azure CLI ve Azure DevOps CLI uzantısını el ile yükleme
- İşlem hattınıza Azure CLI ve Azure DevOps CLI uzantısını yükleme
Azure CLI ve Azure DevOps CLI uzantısını el ile yükleme
Aracı için sanal makine görüntüsünü sağladığınızda şirket içinde barındırılan aracınıza Azure CLI ve Azure DevOps CLI uzantısını yüklemek, işlem hattı her çalıştırıldığında yüklemekten daha hızlıdır.
- Şirket içinde barındırılan aracı görüntünüze Azure CLI yüklemek için bkz . Azure CLI'yi yükleme. Windows, Linux ve macOS için ayrı yönergeler vardır.
- Azure CLI'yı yükledikten sonra Azure DevOps CLI uzantısını yükleyin.
İşlem hattınıza Azure CLI ve Azure DevOps CLI uzantısını yükleme
İşlem hattı kullanarak şirket içinde barındırılan bir aracıda Azure CLI ve Azure DevOps CLI uzantısını yapılandırmaya yönelik aşağıdaki örnek aşağıdaki önkoşullara sahiptir.
- Python kullanarak Azure CLI yükleme
- Python sürüm görevindeki yönergelere göre aracıya Python yüklenmelidir - Şirket içinde barındırılan bir aracıyı bu görevi kullanacak şekilde nasıl yapılandırabilirim? Görev,
UsePythonVersion@0
şirket içinde barındırılan aracınıza Python yüklemez. Şirket içinde barındırılan aracınızda yalnızca bir Python sürümü yüklüyse ve bu sürüm yoldaysa, görevi kullanmanızUsePythonVersion@0
gerekmez.
- Python sürüm görevindeki yönergelere göre aracıya Python yüklenmelidir - Şirket içinde barındırılan bir aracıyı bu görevi kullanacak şekilde nasıl yapılandırabilirim? Görev,
# 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'
- Azure CLI DevOps uzantısını yükleme
# 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
# ...
Aşağıdaki örnek, Azure CLI'yi ve ardından Azure DevOps CLI uzantısını yükler.
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 çağrısının sonuçlarını bir değişkene atama
Azure DevOps CLI çağrısının sonuçlarını bir işlem hattı değişkenine depolamak için Betiklerde değişkenleri ayarlama bölümünde açıklanan söz dizimini kullanıntask.setvariable
. Aşağıdaki örnek, Fabrikam-2023 adlı bir değişken grubunun kimliğini alır ve sonraki bir adımda bu değeri kullanır.
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'
İşler ve aşamalar arasında değişkenlerle çalışma da dahil olmak üzere değişkenlerle çalışma hakkında daha fazla örnek için bkz . Değişkenleri tanımlama. Önceki örnekte kullanılan sorgu söz dizimi örnekleri için bkz . JMESPath sorgusu kullanarak Azure CLI komut çıktısını sorgulama.