Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure DevOps Services
Note
Bu özellik bu hafta ve sonraki sürümde kullanıma sunulacaktır. Özelliği henüz Azure DevOps Hizmetleri projenizde görmüyorsanız birkaç gün içinde tekrar kontrol edin.
Azure DevOps CLI, Azure DevOps kaynaklarını komut satırından yönetmenize olanak tanır. CI/CD iş akışınızın bir parçası olarak yaygın DevOps görevlerini otomatikleştirmek için AzureCLI@3 göreviyle BIR YAML işlem hattında CLI komutlarını çalıştırın. Microsoft barındırılan Windows ve Linux aracıları zaten Azure CLI ve Azure DevOps CLI uzantısını içerir.
Kimlik doğrulaması için Azure DevOps hizmet bağlantısı Microsoft Entra iş yükü kimlik federasyonu tarafından desteklendi. Kimlik bilgisi yönetimini ortadan kaldırdığı için bu yaklaşımı öneririz. Kişisel erişim belirtecini (PAT) yalnızca bir hizmet bağlantısı kullanılamadığında kullanın.
Azure DevOps ile kimlik doğrulaması
az devops configure ve az devops --help gibi bazı Azure DevOps CLI komutları için kimlik doğrulaması gerekmez. Onlar Azure DevOps'a bağlanmaz. Komutların çoğu 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_PATbir ortam değişkenine atayarak kimlik doğrulaması yapabilirsiniz.
System.AccessToken kullanmak, PAT'ye sahip olmayı gerektirir. Daha güvenli bir alternatif olarak bir hizmet bağlantısı kullanın. Kurulum kılavuzu için bkz. Hizmet bağlantılarını yönetme.
- 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 (PAT) kullanarak kimlik doğrulaması hakkında daha fazla bilgi için bkz. Kişisel erişim belirteci ile oturum açma.
Windows ve Linux tarafından barındırılan aracılarla Azure DevOps CLI'da oturum açma
Microsoft barındırılan Windows ve Linux aracıları Azure CLI ve Azure DevOps CLI uzantısıyla önceden yapılandırılmıştır.
Aşağıdaki örnekte, Azure DevOps oturum açma ve birkaç komut çalıştırma işlemi gösterilmektedir. Bu örnekte ubuntu-latest Microsoft barındırılan aracı görüntüsü kullanılır. Bunu diğer Windows veya Linux tarafından barındırılan görüntülerle değiştirebilirsiniz.
Bu örnek, Azure DevOps CLI ile kimlik doğrulaması yapar. Çalışan işlem hattı tarafından kullanılan System.AccessToken güvenlik belirtecini kullanır.
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 barındırılan aracılarla Azure DevOps CLI uzantısını yükleme
macOS Microsoft barındırılan aracılar Azure CLI yüklüdür ancak Azure DevOps CLI uzantısını yüklemez. Azure DevOps CLI uzantısını yüklemek için, Azure DevOps CLI çağrıları 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ünü yükseltme
Microsoft barındırılan aracılar genellikle haftalık güncellemeleri sanal ortamdaki yazılıma dağıtır. Bazı araçlar için dağıtım sırasındaki en son sürüm kullanılır. Diğer durumlarda, 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 barındırılan aracılar için dahil edilen yazılımları ve sürümlerini denetlemek için Software tablosundaki Included Software bağlantılarını izleyin.
- Azure CLI için geçerli sürümü denetlemek için bkz. Azure CLI nasıl yüklenir?
İşlem hattınızda aşağıdaki komutları çalıştırarak barındırılan görüntülerinizdeki Azure CLI 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ında Azure DevOps CLI uzantısı yüklü olmayan birkaç sanal makine görüntüsünde çalışıyorsa, bu uzantıyı koşullu olarak yükleyebilirsiniz.
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"
windows2025:
imageName: "windows-2025"
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 ile kendi barındırılan aracılar
Ş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'yi ve Azure DevOps CLI uzantısını manuel olarak yükleyin
- Azure CLI ve Azure DevOps CLI uzantısını işlem hattınıza yükleme
Azure CLI ve Azure DevOps CLI uzantısını el ile yükleme
Kendiniz barındırdığınız aracı için sanal makine görüntüsünü hazırlarken 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.
Kendi şirket içi aracınızın imajına Azure CLI yüklemek için Azure CLI Yükleme sayfasına bakın. Windows, Linux ve macOS için ayrı yönergeler vardır.
Azure CLI yükledikten sonra Azure DevOps CLI uzantısı yükleyin.
İşlem hattınıza Azure CLI ve Azure DevOps CLI uzantısı yükleme
Azure CLI ve Azure DevOps CLI uzantısını bir self-hosted aracıda bir pipeline kullanarak yapılandırmaya yönelik aşağıda bir örnek verilmiştir. Bu örnek için gereksinimler aşağıdaki gibidir.
- Python kullanarak Azure CLI yükleyin. Python Python sürüm görevindeki yönergelere göre aracıya yüklenmelidir - Şirket içinde barındırılan aracıyı bu görevi kullanacak şekilde nasıl yapılandırabilirim?.
UsePythonVersion@0görevi, kendi barındırdığınız 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,UsePythonVersion@0görevini kullanmanız gerekmez.
# 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ükleyin:
- Azure CLI sürüm 2.10.1 veya üzeri yüklüdür.
- Ajana ve sistem yoluna yüklü bir
bashsürümü vardır. Bash görevini kullanmak için bir bash yüklemesi gereklidir.
# 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 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
bir Azure DevOps CLI çağrısının sonuçlarını bir işlem hattı değişkenine depolamak için, task.setvariable bölümünde açıklanan söz dizimini kullanın. 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'
Hizmet bağlantısıyla kimlik doğrulaması
Hizmet bağlantısı kullandığınızda, hizmet bağlantısı işlem hattında el ile kimlik bilgisi yönetimine gerek kalmadan AzureCLI@3 görevde Azure CLI ve Azure DevOps CLI komutları için gerekli kimlik bilgilerini sağlar.
Note
AzureCLI@3 ile kimlik doğrulaması için bir hizmet bağlantısı kullandığınızda, hizmet ilkesini Azure DevOps kuruluşunuza manuel olarak eklemeniz gerekir.
PAT'siz yönergeler ve hizmet bağlantısı en iyi yöntemleri için bkz. Hizmet bağlantılarını yönetme.
Bu kod örneği, serviceConnectionmevcut bir hizmet bağlantısının adıyla yeni bir parametresini tanımlar. Bu parametreye görevde başvurulur AzureCLI@3 . Betik, bir REST uç noktasını çağırmak için gizli anahtarsız bir bağlantı kullanır, ardından projeleri ve havuzları listeler.
trigger:
- main
parameters:
- name: serviceConnection
displayName: Azure DevOps Service Connection Name
type: string
default: my-service-connection
steps:
- task: AzureCLI@3
displayName: Secret-less
inputs:
connectionType: 'azureDevOps'
azureDevOpsServiceConnection: '${{ parameters.serviceConnection }}'
scriptType: 'pscore'
scriptLocation: 'inlineScript'
inlineScript: |
az rest --method get `
--url "https://status.dev.azure.com/_apis/status/health?api-version=7.1-preview.1" `
--resource 499b84ac-1321-427f-aa17-267ca6975798 `
--query "sort_by(services[?id=='Pipelines'].geographies | [], &name)" `
-o table
az devops configure -l
az devops project list --query "value[].{Name:name, Id:id}" `
-o table
az pipelines pool list --query "[].{Id:id, Name:name}" `
-o table
failOnStandardError: true
Azure DevOps CLI çağrısının sonuçlarını bir değişkene atama
bir Azure DevOps CLI çağrısının sonuçlarını bir işlem hattı değişkenine depolamak için, task.setvariable bölümünde açıklanan söz dizimini kullanın. Aşağıdaki örnek kubernetes adlı değişken grubunun kimliğini alır ve sonraki bir adımda bu değeri kullanır.
trigger:
- main
variables:
- name: variableGroupId
parameters:
- name: serviceConnection
displayName: Azure DevOps Service Connection Name
type: string
default: my-service-connection
steps:
- task: AzureCLI@3
displayName: Set variable group ID
inputs:
connectionType: 'azureDevOps'
azureDevOpsServiceConnection: '${{ parameters.serviceConnection }}'
scriptType: 'pscore'
scriptLocation: 'inlineScript'
inlineScript: |
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@3
displayName: List variable group variables
inputs:
connectionType: 'azureDevOps'
azureDevOpsServiceConnection: '${{ parameters.serviceConnection }}'
scriptType: 'pscore'
scriptLocation: 'inlineScript'
inlineScript: |
az pipelines variable-group variable list --group-id '$(variableGroupId)'
İş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.
İlgili içerik
- Microsoft Entra iş yükü kimliğiyle Azure DevOps'a erişme
- System.AccessToken
- Depolara, yapıtlara ve diğer kaynaklara erişme
- Hizmet bağlantılarını yönetme
- Değişkenleri tanımlama
- Azure DevOps CLI uzantısı başvurusu
- Azure DevOps CLI uzantısı az pipelines reference
- JMESPath sorgusu kullanarak Azure CLI komut çıktısını sorgulama