Bagikan melalui


AzureCLI@2 - Tugas Azure CLI v2

Jalankan perintah Azure CLI terhadap langganan Azure dalam skrip PowerShell Core/shell saat berjalan di agen Linux. Atau, jalankan perintah Azure CLI terhadap langganan Azure di skrip PowerShell/PowerShell Core/batch saat berjalan di agen Windows.

Jalankan perintah Azure CLI terhadap langganan Azure dalam skrip PowerShell Core/shell saat berjalan di agen Linux. Atau, jalankan perintah Azure CLI terhadap langganan Azure dalam skrip PowerShell/Powershell Core/batch saat berjalan di agen Windows.

Sintaks

# Azure CLI v2
# Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.
- task: AzureCLI@2
  inputs:
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    scriptType: # 'ps' | 'pscore' | 'batch' | 'bash'. Required. Script Type. 
    scriptLocation: 'scriptPath' # 'inlineScript' | 'scriptPath'. Required. Script Location. Default: scriptPath.
    scriptPath: # string. Required when scriptLocation = scriptPath. Script Path. 
    #inlineScript: # string. Required when scriptLocation = inlineScript. Inline Script. 
    #arguments: # string. Alias: scriptArguments. Script Arguments. 
    #powerShellErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. Optional. Use when scriptType = ps || scriptType = pscore. ErrorActionPreference. Default: stop.
  # Advanced
    #addSpnToEnvironment: false # boolean. Access service principal details in script. Default: false.
    #useGlobalConfig: false # boolean. Use global Azure CLI configuration. Default: false.
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #failOnStandardError: false # boolean. Fail on Standard Error. Default: false.
    #powerShellIgnoreLASTEXITCODE: false # boolean. Optional. Use when scriptType = ps || scriptType = pscore. Ignore $LASTEXITCODE. Default: false.
# Azure CLI v2
# Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/Powershell Core/Batch script when running on Windows agent.
- task: AzureCLI@2
  inputs:
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    scriptType: # 'ps' | 'pscore' | 'batch' | 'bash'. Required. Script Type. 
    scriptLocation: 'scriptPath' # 'inlineScript' | 'scriptPath'. Required. Script Location. Default: scriptPath.
    scriptPath: # string. Required when scriptLocation = scriptPath. Script Path. 
    #inlineScript: # string. Required when scriptLocation = inlineScript. Inline Script. 
    #arguments: # string. Alias: scriptArguments. Script Arguments. 
    #powerShellErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. Optional. Use when scriptType = ps || scriptType = pscore. ErrorActionPreference. Default: stop.
  # Advanced
    #addSpnToEnvironment: false # boolean. Access service principal details in script. Default: false.
    #useGlobalConfig: false # boolean. Use global Azure CLI configuration. Default: false.
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #failOnStandardError: false # boolean. Fail on Standard Error. Default: false.
    #powerShellIgnoreLASTEXITCODE: false # boolean. Optional. Use when scriptType = ps || scriptType = pscore. Ignore $LASTEXITCODE. Default: false.

Input

azureSubscription - Koneksi azure Resource Manager
Alias input: connectedServiceNameARM. string. Wajib diisi.

Pilih koneksi layanan Azure Resource Manager untuk penyebaran.


scriptType - Jenis Skrip
string. Wajib diisi. Nilai yang diizinkan: ps (PowerShell), pscore (PowerShell Core), batch, bash (Shell).

Jenis skrip. bash Pilih skrip atau pscore saat berjalan di agen Linux. Atau, pilih batchskrip , ps, atau pscore saat berjalan di agen Windows. pscore Skrip dapat berjalan pada agen lintas platform (Linux, macOS, atau Windows).


scriptType - Jenis Skrip
string. Wajib diisi. Nilai yang diizinkan: ps (Powershell), pscore (Powershell Core), batch, bash (Shell).

Jenis skrip. bash Pilih skrip atau pscore saat berjalan di agen Linux. Atau, pilih batchskrip , ps, atau pscore saat berjalan di agen Windows. pscore Skrip dapat berjalan pada agen lintas platform (Linux, macOS, atau Windows).


scriptLocation - Lokasi Skrip
string. Wajib diisi. Nilai yang diizinkan: inlineScript (Skrip sebaris), scriptPath (Jalur skrip). Nilai default: scriptPath.

Jalur ke skrip.


scriptPath - Jalur Skrip
string. Diperlukan saat scriptLocation = scriptPath.

Jalur skrip yang sepenuhnya memenuhi syarat. Gunakan .ps1, .bat, atau .cmd saat menggunakan agen berbasis Windows. Gunakan .ps1 atau .sh saat menggunakan agen berbasis Linux atau jalur yang relatif terhadap direktori kerja default.


inlineScript - Skrip Sebaris
string. Diperlukan saat scriptLocation = inlineScript.

Anda dapat menulis skrip Anda sebaris di sini. Saat menggunakan agen Windows, gunakan PowerShell, PowerShell Core, atau pembuatan skrip batch. Gunakan PowerShell Core atau pembuatan skrip shell saat menggunakan agen berbasis Linux. Untuk file batch, gunakan awalan call sebelum setiap perintah Azure. Anda juga dapat meneruskan variabel yang telah ditentukan sebelumnya dan kustom ke skrip ini dengan menggunakan argumen.

Berikut ini adalah contoh untuk PowerShell/PowerShellCore/shell.

az --version 
az account show 

Berikut ini adalah contoh untuk batch.

call  az --version 
call az account show

arguments - Argumen Skrip
Alias input: scriptArguments. string.

Argumen diteruskan ke skrip.


powerShellErrorActionPreference - ErrorActionPreference
string. Opsional. Gunakan saat scriptType = ps || scriptType = pscore. Nilai yang diizinkan: stop, continue, dan silentlyContinue. Nilai default: stop.

Menambahkan baris $ErrorActionPreference = 'VALUE' di bagian atas skrip PowerShell/PowerShell Core Anda.


addSpnToEnvironment - Mengakses detail perwakilan layanan dalam skrip
boolean. Nilai default: false.

Menambahkan ID perwakilan layanan, kunci perwakilan layanan, atau token federasi identitas beban kerja, dan ID penyewa titik akhir Azure yang Anda pilih ke lingkungan eksekusi skrip. Anda dapat menggunakan servicePrincipalIdvariabel , servicePrincipalKey atau idToken, dan tenantId dalam skrip Anda.

Ini hanya dihormati ketika titik akhir Azure memiliki skema autentikasi perwakilan layanan atau skema autentikasi federasi identitas beban kerja.

Daftar berikut menunjukkan sintaks untuk mengakses variabel lingkungan berdasarkan jenis skrip.

  • Sintaksis skrip PowerShell: $env:servicePrincipalId

  • Sintaks skrip batch: %servicePrincipalId%

  • Sintaks skrip shell: $servicePrincipalId


useGlobalConfig - Menggunakan konfigurasi Azure CLI global
boolean. Nilai default: false.

Jika input ini salah, tugas ini akan menggunakan direktori konfigurasi Azure CLI sendiri. Gunakan tugas ini untuk menjalankan tugas Azure CLI dalam rilis paralel .


workingDirectory - Direktori Kerja
Alias input: cwd. string.

Direktori kerja saat ini tempat skrip dijalankan. Jika dibiarkan kosong, input ini adalah akar repositori (build) atau artefak (rilis), yaitu $(System.DefaultWorkingDirectory).


failOnStandardError - Gagal pada Kesalahan Standar
boolean. Nilai default: false.

Jika input ini benar, tugas ini akan gagal ketika ada kesalahan yang ditulis ke aliran StandardError. Kosongkan kotak centang untuk mengabaikan kesalahan standar dan sebaliknya mengandalkan kode keluar untuk menentukan status.


powerShellIgnoreLASTEXITCODE - Abaikan $LASTEXITCODE
boolean. Pilihan. Gunakan saat scriptType = ps || scriptType = pscore. Nilai default: false.

Jika input ini salah, baris if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } ditambahkan ke akhir skrip Anda. Ini akan menyebarluaskan kode keluar terakhir dari perintah eksternal sebagai kode keluar PowerShell. Jika tidak, baris tidak ditambahkan ke akhir skrip Anda.


Opsi kontrol tugas

Semua tugas memiliki opsi kontrol selain input tugas mereka. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.

Variabel output

Tidak ada.

Keterangan

Apa yang baru dalam tugas Versi versi 2.0

  • Dukungan untuk skrip PowerShell dan PowerShell Core.
  • PowerShell Core berfungsi dengan agen lintas platform (Linux, macOS, atau Windows), pastikan agen memiliki PowerShell versi 6 atau lebih.
  • Skrip Powershell hanya berfungsi dengan agen Windows, pastikan agen memiliki PowerShell versi 5 atau di bawahnya.

Prasyarat

  • Langganan Microsoft Azure.
  • Koneksi layanan Azure Resource Manager ke akun Azure Anda.
  • Agen yang dihosting Microsoft memiliki Azure CLI yang sudah diinstal sebelumnya. Namun, jika Anda menggunakan agen privat, instal Azure CLI pada komputer yang menjalankan agen build dan rilis. Jika agen sudah berjalan pada komputer tempat Azure CLI diinstal, hidupkan ulang agen untuk memastikan semua variabel tahap yang relevan sudah diperbarui.

Contoh

Contoh berikut mencantumkan versi Azure CLI dan mendapatkan detail langganan.

- task: AzureCLI@2
  displayName: Azure CLI
  inputs:
    azureSubscription: <Name of the Azure Resource Manager service connection>
    scriptType: ps
    scriptLocation: inlineScript
    inlineScript: |
      az --version
      az account show

Contoh berikut menggambarkan cara meneruskan argumen ke skrip Anda.

  • Meneruskan argumen ke skrip sebaris:

    - task: AzureCLI@2
      inputs:
        azureSubscription: <Azure_Resource_Manager_Service_Connection>
        scriptType: 'ps'
        scriptLocation: 'inlineScript'
        arguments: '$(AZURE_STORAGE_ACCOUNT) $(AZURE_STORAGE_KEY)'
        inlineScript: './scripts/publish.ps1 $1 $2'
    
  • Meneruskan argumen dengan jalur skrip:

    - task: AzureCLI@2
      inputs:
        azureSubscription: <Azure_Resource_Manager_Service_Connection>
        scriptType: 'ps'
        scriptLocation: 'scriptPath'
        arguments: '$(AZURE_STORAGE_ACCOUNT) $(AZURE_STORAGE_KEY)'
        scriptPath: './scripts/publish.ps1'
    

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak ada
Kemampuan Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan.
Pembatasan perintah Apa pun
Variabel yang dapat diatur Apa pun
Versi agen 2.0.0 atau lebih tinggi
Kategori tugas Sebarkan

Lihat juga