Menambahkan & menggunakan grup variabel

Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019

Grup variabel menyimpan nilai dan rahasia yang mungkin ingin Anda teruskan ke alur YAML atau tersedia di beberapa alur. Anda dapat berbagi dan menggunakan grup variabel dalam beberapa alur dalam proyek yang sama.

Variabel rahasia dalam grup Variabel adalah sumber daya yang dilindungi. Anda dapat menambahkan kombinasi persetujuan, pemeriksaan, dan izin alur untuk membatasi akses ke variabel rahasia dalam grup variabel. Akses ke variabel non-rahasia tidak dibatasi oleh persetujuan, pemeriksaan, dan izin alur.

Membuat grup variabel

Anda tidak dapat membuat grup variabel di YAML, tetapi dapat digunakan seperti yang dijelaskan dalam Menggunakan grup variabel.

Menggunakan grup variabel

Untuk menggunakan variabel dari grup variabel, tambahkan referensi ke grup dalam file YAML Anda:

variables:
- group: my-variable-group

Kemudian, variabel dari grup variabel dapat digunakan dalam file YAML Anda.

Jika Anda menggunakan variabel dan grup variabel, gunakan name/value sintaks untuk variabel individual yang tidak dikelompokkan:

variables:
- group: my-variable-group
- name: my-bare-variable
  value: 'value of my-bare-variable'

Untuk mereferensikan grup variabel, gunakan sintaks makro atau ekspresi runtime. Dalam contoh berikut, grup my-variable-group memiliki variabel bernama myhello.

variables:
- group: my-variable-group
- name: my-passed-variable
  value: $[variables.myhello] # uses runtime expression

steps:
- script: echo $(myhello) # uses macro syntax
- script: echo $(my-passed-variable) 

Anda dapat mereferensikan beberapa grup variabel dalam alur yang sama. Jika beberapa grup variabel menyertakan variabel yang sama, grup variabel yang disertakan terakhir dalam file YAML Anda mengatur nilai variabel.

variables:
- group: my-first-variable-group
- group: my-second-variable-group

Anda juga dapat mereferensikan grup variabel dalam templat. Dalam templat variables.yml, grup my-variable-group dirujuk. Grup variabel mencakup variabel bernama myhello.

# variables.yml
variables:
- group: my-variable-group

Dalam alur ini, variabel $(myhello) dari grup my-variable-group variabel disertakan dan variables.yml dirujuk.

# azure-pipeline.yml
stages:
- stage: MyStage
  variables:
  - template: variables.yml
  jobs:
  - job: Test
    steps:
    - script: echo $(myhello)

Mengotorisasi grup variabel

Untuk bekerja dengan grup variabel, Anda harus mengotorisasi grup. Jika Anda hanya memberi nama grup variabel di YAML, maka siapa pun yang dapat mendorong kode ke repositori Anda dapat mengekstrak konten rahasia dalam grup variabel. Untuk mengotorisasi grup, gunakan salah satu teknik berikut:

  • Untuk mengotorisasi alur apa pun untuk menggunakan grup variabel, buka Azure Pipelines. Ini mungkin pilihan yang baik jika Anda tidak memiliki rahasia dalam grup. Pilih Grup Variabel Pustaka>, lalu pilih grup variabel yang dimaksud dan aktifkan pengaturan Izinkan akses ke semua alur.

  • Untuk mengotorisasi grup variabel untuk alur tertentu, buka alur, pilih Edit, lalu antre build secara manual. Anda melihat kesalahan otorisasi sumber daya dan tindakan "Otorisasi sumber daya" pada kesalahan. Pilih tindakan ini untuk secara eksplisit menambahkan alur sebagai pengguna resmi grup variabel.

Catatan

Jika Anda menambahkan grup variabel ke alur dan tidak mendapatkan kesalahan otorisasi sumber daya di build Anda saat anda mengharapkannya, nonaktifkan pengaturan Izinkan akses ke semua alur .

Akses nilai variabel dalam grup variabel tertaut dengan cara yang sama seperti variabel yang Anda tentukan dalam alur itu sendiri. Misalnya, untuk mengakses nilai variabel bernama pelanggan dalam grup variabel yang ditautkan ke alur, gunakan $(customer) dalam parameter tugas atau skrip. Tetapi, Anda tidak dapat mengakses variabel rahasia (variabel terenkripsi dan variabel brankas kunci) langsung dalam skrip - sebagai gantinya, variabel tersebut harus diteruskan sebagai argumen ke tugas. Untuk informasi selengkapnya, lihat rahasia

Perubahan yang Anda buat pada grup variabel secara otomatis tersedia untuk semua definisi atau tahapan tempat grup variabel ditautkan.

Mencantumkan grup variabel

Gunakan CLI untuk mencantumkan grup variabel untuk eksekusi alur dengan perintah az pipelines variable-group list . Jika ekstensi Azure DevOps untuk CLI baru bagi Anda, lihat Mulai menggunakan Azure DevOps CLI.

az pipelines variable-group list [--action {manage, none, use}]
                                 [--continuation-token]
                                 [--group-name]
                                 [--org]
                                 [--project]
                                 [--query-order {Asc, Desc}]
                                 [--top]

Parameter opsional

  • tindakan: Menentukan tindakan yang dapat dilakukan pada grup variabel. Nilai yang diterima dikelola, tidak ada, dan digunakan.
  • token kelanjutan: Mencantumkan grup variabel setelah token kelanjutan disediakan.
  • group-name: Nama grup variabel. Kartubebas diterima, seperti new-var*.
  • org: URL organisasi Azure DevOps. Konfigurasikan organisasi default menggunakan az devops configure -d organization=ORG_URL. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config. Contoh: --org https://dev.azure.com/MyOrganizationName/.
  • project: Nama atau ID proyek. Konfigurasikan proyek default menggunakan az devops configure -d project=NAME_OR_ID. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config.
  • urutan kueri: Mencantumkan hasil dalam urutan naik atau turun (default). Nilai yang diterima adalah Asc dan Desc.
  • atas: Jumlah grup variabel yang akan dicantumkan.

Contoh

Perintah berikut mencantumkan tiga grup variabel teratas dalam urutan naik dan mengembalikan hasil dalam format tabel.

az pipelines variable-group list --top 3 --query-order Asc --output table

ID    Name               Type    Number of Variables
----  -----------------  ------  ---------------------
1     myvariables        Vsts    2
2     newvariables       Vsts    4
3     new-app-variables  Vsts    3

Perlihatkan detail untuk grup variabel

Tampilkan detail grup variabel dalam proyek Anda dengan perintah az pipelines variable-group show . Jika ekstensi Azure DevOps untuk CLI baru bagi Anda, lihat Mulai menggunakan Azure DevOps CLI.

az pipelines variable-group show --group-id
                                 [--org]
                                 [--project]

Parameter

  • group-id: Diperlukan. ID grup variabel. Untuk menemukan ID grup variabel, lihat Mencantumkan grup variabel.
  • org: URL organisasi Azure DevOps. Konfigurasikan organisasi default menggunakan az devops configure -d organization=ORG_URL. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config. Contoh: --org https://dev.azure.com/MyOrganizationName/.
  • project: Nama atau ID proyek. Konfigurasikan proyek default menggunakan az devops configure -d project=NAME_OR_ID. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config.

Contoh

Perintah berikut menunjukkan detail untuk grup variabel dengan ID 4 dan mengembalikan hasil dalam format YAML.

az pipelines variable-group show --group-id 4 --output yaml

authorized: false
description: Variables for my new app
id: 4
name: MyNewAppVariables
providerData: null
type: Vsts
variables:
  app-location:
    isSecret: null
    value: Head_Office
  app-name:
    isSecret: null
    value: Fabrikam

Menghapus grup variabel

Hapus grup variabel di proyek Anda dengan perintah az pipelines variable-group delete . Jika ekstensi Azure DevOps untuk CLI baru bagi Anda, lihat Mulai menggunakan Azure DevOps CLI.

az pipelines variable-group delete --group-id
                                   [--org]
                                   [--project]
                                   [--yes]

Parameter

  • group-id: Diperlukan. ID grup variabel. Untuk menemukan ID grup variabel, lihat Mencantumkan grup variabel.
  • org: URL organisasi Azure DevOps. Konfigurasikan organisasi default menggunakan az devops configure -d organization=ORG_URL. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config. Contoh: --org https://dev.azure.com/MyOrganizationName/.
  • project: Nama atau ID proyek. Konfigurasikan proyek default menggunakan az devops configure -d project=NAME_OR_ID. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config.
  • Ya: Opsional. Tidak meminta konfirmasi.

Contoh

Perintah berikut menghapus grup variabel dengan ID 1 dan tidak meminta konfirmasi.

az pipelines variable-group delete --group-id 1 --yes

Deleted variable group successfully.

Menambahkan variabel ke grup variabel

Dengan Azure DevOps CLI, Anda dapat menambahkan variabel ke grup variabel dalam alur dengan perintah az pipelines variable-group variable create . Jika ekstensi Azure DevOps untuk CLI baru bagi Anda, lihat Mulai menggunakan Azure DevOps CLI.

az pipelines variable-group variable create --group-id
                                            --name
                                            [--org]
                                            [--project]
                                            [--secret {false, true}]
                                            [--value]

Parameter

  • group-id: Diperlukan. ID grup variabel. Untuk menemukan ID grup variabel, lihat Mencantumkan grup variabel.
  • nama: Wajib diisi. Nama variabel yang Anda tambahkan.
  • org: URL organisasi Azure DevOps. Konfigurasikan organisasi default menggunakan az devops configure -d organization=ORG_URL. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config. Contoh: --org https://dev.azure.com/MyOrganizationName/.
  • project: Nama atau ID proyek. Konfigurasikan proyek default menggunakan az devops configure -d project=NAME_OR_ID. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config.
  • rahasia: Opsional. Menunjukkan apakah nilai variabel adalah rahasia. Nilai yang diterima salah dan benar.
  • value: Diperlukan untuk variabel non-rahasia. Nilai variabel. Untuk variabel rahasia, jika parameter nilai tidak disediakan, parameter tersebut dipilih dari variabel lingkungan yang diawali dengan AZURE_DEVOPS_EXT_PIPELINE_VAR_ atau pengguna diminta untuk memasukkannya melalui input standar. Misalnya, variabel bernama MySecret dapat dimasukkan menggunakan variabel AZURE_DEVOPS_EXT_PIPELINE_VAR_MySecretlingkungan .

Contoh

Perintah berikut membuat variabel dalam grup variabel dengan ID 4. Variabel baru bernama requires-login dan memiliki nilai True, dan hasilnya ditampilkan dalam format tabel.

az pipelines variable-group variable create --group-id 4 --name requires-login --value True --output table

Name            Is Secret    Value
--------------  -----------  -------
requires-login  False        True

Mencantumkan variabel dalam grup variabel

Anda dapat mencantumkan variabel dalam grup variabel dengan perintah az pipelines variable-group variable list . Jika ekstensi Azure DevOps untuk CLI baru bagi Anda, lihat Mulai menggunakan Azure DevOps CLI.

az pipelines variable-group variable list --group-id
                                          [--org]
                                          [--project]

Parameter

  • group-id: Diperlukan. ID grup variabel. Untuk menemukan ID grup variabel, lihat Mencantumkan grup variabel.
  • org: URL organisasi Azure DevOps. Konfigurasikan organisasi default menggunakan az devops configure -d organization=ORG_URL. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config. Contoh: --org https://dev.azure.com/MyOrganizationName/.
  • project: Nama atau ID proyek. Konfigurasikan proyek default menggunakan az devops configure -d project=NAME_OR_ID. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config.

Contoh

Perintah berikut mencantumkan semua variabel dalam grup variabel dengan ID 4 dan memperlihatkan hasilnya dalam format tabel.

az pipelines variable-group variable list --group-id 4 --output table

Name            Is Secret    Value
--------------  -----------  -----------
app-location    False        Head_Office
app-name        False        Fabrikam
requires-login  False        True

Memperbarui variabel dalam grup variabel

Perbarui variabel dalam grup variabel dengan perintah az pipelines variable-group variable update . Jika ekstensi Azure DevOps untuk CLI baru bagi Anda, lihat Mulai menggunakan Azure DevOps CLI.

az pipelines variable-group variable update --group-id
                                            --name
                                            [--new-name]
                                            [--org]
                                            [--project]
                                            [--prompt-value {false, true}]
                                            [--secret {false, true}]
                                            [--value]

Parameter

  • group-id: Diperlukan. ID grup variabel. Untuk menemukan ID grup variabel, lihat Mencantumkan grup variabel.
  • nama: Wajib diisi. Nama variabel yang Anda tambahkan.
  • nama baru: Opsional. Tentukan untuk mengubah nama variabel.
  • org: URL organisasi Azure DevOps. Konfigurasikan organisasi default menggunakan az devops configure -d organization=ORG_URL. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config. Contoh: --org https://dev.azure.com/MyOrganizationName/.
  • project: Nama atau ID proyek. Konfigurasikan proyek default menggunakan az devops configure -d project=NAME_OR_ID. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config.
  • prompt-value: Atur ke true untuk memperbarui nilai variabel rahasia menggunakan variabel lingkungan atau prompt melalui input standar. Nilai yang diterima salah dan benar.
  • rahasia: Opsional. Menunjukkan apakah nilai variabel dirahasiakan. Nilai yang diterima salah dan benar.
  • nilai: Memperbarui nilai variabel. Untuk variabel rahasia, gunakan parameter prompt-value untuk diminta memasukkannya melalui input standar. Untuk konsol non-interaktif, konsol dapat dipilih dari variabel lingkungan yang diawali dengan AZURE_DEVOPS_EXT_PIPELINE_VAR_. Misalnya, variabel bernama MySecret dapat dimasukkan menggunakan variabel AZURE_DEVOPS_EXT_PIPELINE_VAR_MySecretlingkungan .

Contoh

Perintah berikut memperbarui variabel requires-login dengan nilai baru False dalam grup variabel dengan ID 4. Ini menentukan bahwa variabel adalah rahasia dan menunjukkan hasilnya dalam format YAML. Perhatikan bahwa output menunjukkan nilai sebagai null alih-alih False karena ini adalah nilai tersembunyi rahasia.

az pipelines variable-group variable update --group-id 4 --name requires-login --value False --secret true --output yaml

requires-login:
  isSecret: true
  value: null

Menghapus variabel dari grup variabel

Hapus variabel dari grup variabel dengan perintah az pipelines variable-group variable delete . Jika ekstensi Azure DevOps untuk CLI baru bagi Anda, lihat Mulai menggunakan Azure DevOps CLI.

az pipelines variable-group variable delete --group-id
                                            --name
                                            [--org]
                                            [--project]
                                            [--yes]

Parameter

  • group-id: Diperlukan. ID grup variabel. Untuk menemukan ID grup variabel, lihat Mencantumkan grup variabel.
  • nama: Wajib diisi. Nama variabel yang Anda hapus.
  • org: URL organisasi Azure DevOps. Konfigurasikan organisasi default menggunakan az devops configure -d organization=ORG_URL. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config. Contoh: --org https://dev.azure.com/MyOrganizationName/.
  • project: Nama atau ID proyek. Konfigurasikan proyek default menggunakan az devops configure -d project=NAME_OR_ID. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil menggunakan git config.
  • Ya: Opsional. Tidak meminta konfirmasi.

Contoh

Perintah berikut menghapus variabel requires-login dari grup variabel dengan ID 4 dan meminta konfirmasi.

az pipelines variable-group variable delete --group-id 4 --name requires-login

Are you sure you want to delete this variable? (y/n): y
Deleted variable 'requires-login' successfully.

Catatan

Key Vault yang menggunakan kontrol akses berbasis peran Azure (Azure RBAC) tidak didukung.

Tautkan brankas kunci Azure yang ada ke grup variabel dan petakan rahasia vault selektif ke grup variabel.

  1. Di halaman Grup variabel, aktifkan Tautkan rahasia dari brankas kunci Azure sebagai variabel. Anda akan memerlukan brankas kunci yang ada yang berisi rahasia Anda. Buat brankas kunci menggunakan portal Azure.

    Cuplikan layar grup variabel dengan integrasi brankas kunci Azure.

  2. Tentukan titik akhir langganan Azure Anda dan nama vault yang berisi rahasia Anda.

    Pastikan koneksi layanan Azure memiliki setidaknya izin Dapatkan dan Daftar manajemen di vault untuk rahasia. Aktifkan Azure Pipelines untuk mengatur izin ini dengan memilih Otorisasi di samping nama vault. Atau, atur izin secara manual di portal Azure:

    1. Buka Pengaturan untuk vault, lalu pilih Kebijakan akses>Tambahkan baru.
    2. Pilih Pilih perwakilan lalu pilih perwakilan layanan untuk akun klien Anda.
    3. Pilih Izin rahasia dan pastikan bahwa Dapatkan dan Daftar memiliki tanda centang.
    4. Pilih OK untuk menyimpan perubahan.
  3. Pada halaman Grup variabel, pilih + Tambahkan untuk memilih rahasia tertentu dari vault Anda untuk pemetaan ke grup variabel ini.

Mengelola rahasia brankas kunci

Lihat daftar tips bermanfaat berikut untuk mengelola rahasia.

  • Hanya nama rahasia yang dipetakan ke grup variabel, bukan nilai rahasia. Nilai rahasia terbaru, diambil dari vault, digunakan dalam eksekusi alur yang ditautkan ke grup variabel.

  • Setiap perubahan yang dilakukan pada rahasia yang ada di brankas kunci secara otomatis tersedia untuk semua alur tempat grup variabel digunakan.

  • Saat rahasia baru ditambahkan atau dihapus dari vault, grup variabel terkait tidak diperbarui secara otomatis. Rahasia yang disertakan dalam grup variabel harus diperbarui secara eksplisit sehingga alur yang menggunakan grup variabel dijalankan dengan benar.

  • Azure Key Vault mendukung penyimpanan dan pengelolaan kunci kriptografi dan rahasia di Azure. Saat ini, integrasi grup variabel Azure Pipelines hanya mendukung pemetaan rahasia dari brankas kunci Azure. Kunci kriptografi dan sertifikat tidak didukung.

Memperluas variabel dalam grup

Saat Anda mengatur variabel dalam grup dan menggunakannya dalam file YAML, variabel tersebut sama dengan variabel lain yang ditentukan dalam file YAML. Untuk informasi selengkapnya tentang prioritas variabel, lihat Variabel.