Değişken grupları ekle ve kullan

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

Değişken grupları, YAML işlem hattına geçirilmesini veya birden çok işlem hattında kullanılabilir olmasını isteyebileceğiniz değerleri ve gizli dizileri depolar. Aynı projede birden çok işlem hattında değişken gruplarını paylaşabilir ve kullanabilirsiniz.

Değişken gruplarındaki gizli dizi değişkenleri korumalı kaynaklardır. Bir değişken grubundaki gizli dizi değişkenlerine erişimi sınırlamak için onay, denetim ve işlem hattı izinlerinin birleşimlerini ekleyebilirsiniz. Gizli dizi olmayan değişkenlere erişim onaylar, denetimler ve işlem hattı izinleri ile sınırlı değildir.

Not

Microsoft Visual Studio Team Foundation Server 2018 ve önceki sürümlerde adlandırmada aşağıdaki farklılıklar vardır:

  • Derleme ve yayın işlem hatları tanım olarak adlandırılır
  • Çalıştırmalar derleme olarak adlandırılır
  • Hizmet bağlantıları hizmet uç noktaları olarak adlandırılır
  • Aşamalar ortam olarak adlandırılır
  • İşler aşama olarak adlandırılır

Değişken grubu oluşturma

YAML'de değişken grupları oluşturamazsınız, ancak bunlar Değişken grubu kullanma başlığında açıklandığı gibi kullanılabilir.

Değişken grubu kullanma

Değişken grubundan bir değişken kullanmak için YAML dosyanızdaki gruba bir başvuru ekleyin:

variables:
- group: my-variable-group

Ardından, değişken grubundaki değişkenler YAML dosyanızda kullanılabilir.

Hem değişkenleri hem de değişken gruplarını kullanıyorsanız, gruplandırılmamış bağımsız değişkenler için söz dizimini kullanın name/value :

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

Değişken grubuna başvurmak için makro söz dizimi veya çalışma zamanı ifadesi kullanın. Aşağıdaki örnekte, grubun my-variable-group adlı myhellobir değişkeni vardır.

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) 

Aynı işlem hattında birden çok değişken grubuna başvurabilirsiniz. Birden çok değişken grubu aynı değişkeni içerirse, YAML dosyanıza son eklenen değişken grubu değişkenin değerini ayarlar.

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

Şablondaki bir değişken grubuna da başvurabilirsiniz. şablonunda variables.ymlgruba my-variable-group başvurulur. Değişken grubu adlı myhellobir değişken içerir.

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

Bu işlem hattında değişken grubundaki my-variable-group değişken $(myhello) eklenir ve variables.yml buna başvurulur.

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

Değişken grubunu yetkilendirme

Değişken grubuyla çalışmak için grubu yetkilendirmeniz gerekir. Değişken grubunu yalnızca YAML'de adlandırdığınızda, deponuza kod gönderebilen herkes değişken grubundaki gizli dizilerin içeriğini ayıklayabilir. Grubu yetkilendirmek için aşağıdaki tekniklerden birini kullanın:

  • Değişken grubunu kullanmak üzere herhangi bir işlem hattını yetkilendirmek için Azure Pipelines'a gidin. Grupta gizli diziniz yoksa bu iyi bir seçenek olabilir. Kitaplık>Değişkeni grupları'nı seçin ve ardından söz konusu değişken grubunu seçin ve Tüm işlem hatlarına erişime izin ver ayarını etkinleştirin.

  • Belirli bir işlem hattı için değişken grubunu yetkilendirmek için işlem hattını açın, Düzenle'yi seçin ve ardından derlemeyi el ile kuyruğa alın. Hatada bir kaynak yetkilendirme hatası ve "Kaynakları yetkile" eylemi görürsünüz. İşlem hattını değişken grubunun yetkili kullanıcısı olarak açıkça eklemek için bu eylemi seçin.

Not

İşlem hattına değişken grubu eklerseniz ve beklediğiniz sırada derlemenizde kaynak yetkilendirme hatası almazsınız, Tüm işlem hatlarına erişime izin ver ayarını kapatın.

YAML derlemeleri TFS'de kullanılamaz.

Bağlı değişken grubundaki değişken değerlerine, işlem hattı içinde tanımladığınız değişkenlerle aynı şekilde erişin. Örneğin, işlem hattına bağlı bir değişken grubundaki customer adlı değişkenin değerine erişmek için bir görev parametresinde veya betikte kullanın$(customer). Ancak gizli dizi değişkenlerine (şifrelenmiş değişkenler ve anahtar kasası değişkenleri) doğrudan betiklerde erişemezsiniz; bunun yerine, bunların göreve bağımsız değişken olarak geçirilmesi gerekir. Daha fazla bilgi için bkz. gizli diziler

Bir değişken grubunda yaptığınız değişiklikler, değişken grubunun bağlandığı tüm tanımlar veya aşamalar için otomatik olarak kullanılabilir.

Değişken gruplarını listeleme

az pipelines variable-group list komutuyla işlem hattı çalıştırmaları için değişken gruplarını listelemek için CLI'yi kullanın. CLI için Azure DevOps uzantısı sizin için yeniyse bkz . Azure DevOps CLI'yı kullanmaya başlama.

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

İsteğe bağlı parametreler

  • action: Değişken gruplarında gerçekleştirilebilecek eylemi belirtir. Kabul edilen değerler yönetilir, yok ve kullanılır.
  • continuation-token: Bir devamlılık belirteci sağlandıktan sonra değişken gruplarını listeler.
  • group-name: Değişken grubunun adı. Joker karakterler kabul edilir, örneğin new-var*.
  • kuruluş: Azure DevOps kuruluş URL'si. kullanarak az devops configure -d organization=ORG_URLvarsayılan kuruluşu yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir. Örnek: --org https://dev.azure.com/MyOrganizationName/.
  • project: Projenin adı veya kimliği. kullanarak az devops configure -d project=NAME_OR_IDvarsayılan projeyi yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir.
  • query-order: Sonuçları artan veya azalan (varsayılan) sırada listeler. Kabul edilen değerler Asc ve Desc değerleridir.
  • top: Listelene değişken gruplarının sayısı.

Örnek

Aşağıdaki komut, üstteki üç değişken grubunu artan düzende listeler ve sonuçları tablo biçiminde döndürür.

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

Değişken grubunun ayrıntılarını gösterme

az pipelines variable-group show komutuyla projenizdeki bir değişken grubunun ayrıntılarını görüntüleyin. CLI için Azure DevOps uzantısı sizin için yeniyse bkz . Azure DevOps CLI'yı kullanmaya başlama.

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

Parametreler

  • group-id: Gerekli. Değişken grubunun kimliği. Değişken grubu kimliğini bulmak için bkz . Değişken gruplarını listeleme.
  • kuruluş: Azure DevOps kuruluş URL'si. kullanarak az devops configure -d organization=ORG_URLvarsayılan kuruluşu yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir. Örnek: --org https://dev.azure.com/MyOrganizationName/.
  • project: Projenin adı veya kimliği. kullanarak az devops configure -d project=NAME_OR_IDvarsayılan projeyi yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir.

Örnek

Aşağıdaki komut, 4 kimliğine sahip değişken grubunun ayrıntılarını gösterir ve sonuçları YAML biçiminde döndürür.

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

Değişken grubunu silme

az pipelines variable-group delete komutuyla projenizdeki bir değişken grubunu silin . CLI için Azure DevOps uzantısı sizin için yeniyse bkz . Azure DevOps CLI'yı kullanmaya başlama.

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

Parametreler

  • group-id: Gerekli. Değişken grubunun kimliği. Değişken grubu kimliğini bulmak için bkz . Değişken gruplarını listeleme.
  • kuruluş: Azure DevOps kuruluş URL'si. kullanarak az devops configure -d organization=ORG_URLvarsayılan kuruluşu yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir. Örnek: --org https://dev.azure.com/MyOrganizationName/.
  • project: Projenin adı veya kimliği. kullanarak az devops configure -d project=NAME_OR_IDvarsayılan projeyi yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir.
  • Evet: İsteğe bağlı. Onay istemez.

Örnek

Aşağıdaki komut, 1 kimliğine sahip değişken grubunu siler ve onay istemez.

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

Deleted variable group successfully.

Değişken grubuna değişken ekleme

Azure DevOps CLI ile az pipelines variable-group variable create komutuyla işlem hattındaki bir değişken grubuna değişken ekleyebilirsiniz. CLI için Azure DevOps uzantısı sizin için yeniyse bkz . Azure DevOps CLI'yı kullanmaya başlama.

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

Parametreler

  • group-id: Gerekli. Değişken grubunun kimliği. Değişken grubu kimliğini bulmak için bkz . Değişken gruplarını listeleme.
  • name: Gerekli. Eklediğiniz değişkenin adı.
  • kuruluş: Azure DevOps kuruluş URL'si. kullanarak az devops configure -d organization=ORG_URLvarsayılan kuruluşu yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir. Örnek: --org https://dev.azure.com/MyOrganizationName/.
  • project: Projenin adı veya kimliği. kullanarak az devops configure -d project=NAME_OR_IDvarsayılan projeyi yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir.
  • gizli dizi: İsteğe bağlı. Değişkenin değerinin gizli dizi olup olmadığını gösterir. Kabul edilen değerler false ve true değerleridir.
  • değer: Gizli dizi olmayan değişken için gereklidir. Değişkenin değeri. Gizli dizi değişkenleri için, değer parametresi sağlanmazsa, ön ekli AZURE_DEVOPS_EXT_PIPELINE_VAR_ ortam değişkeninden seçilir veya kullanıcıdan standart giriş yoluyla girmesi istenir. Örneğin, MySecret adlı bir değişken ortam değişkeni AZURE_DEVOPS_EXT_PIPELINE_VAR_MySecretkullanılarak giriş yapılabilir.

Örnek

Aşağıdaki komut, değişken grubunda kimliği 4 olan bir değişken oluşturur. Yeni değişken requires-login olarak adlandırılır ve True değerine sahiptir ve sonuç tablo biçiminde gösterilir.

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

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

Değişken grubundaki değişkenleri listeleme

Az pipelines variable-group variable list komutuyla bir değişken grubundaki değişkenleri listeleyebilirsiniz . CLI için Azure DevOps uzantısı sizin için yeniyse bkz . Azure DevOps CLI'yı kullanmaya başlama.

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

Parametreler

  • group-id: Gerekli. Değişken grubunun kimliği. Değişken grubu kimliğini bulmak için bkz . Değişken gruplarını listeleme.
  • kuruluş: Azure DevOps kuruluş URL'si. kullanarak az devops configure -d organization=ORG_URLvarsayılan kuruluşu yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir. Örnek: --org https://dev.azure.com/MyOrganizationName/.
  • project: Projenin adı veya kimliği. kullanarak az devops configure -d project=NAME_OR_IDvarsayılan projeyi yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir.

Örnek

Aşağıdaki komut, değişken grubundaki 4 kimliğine sahip tüm değişkenleri listeler ve sonucu tablo biçiminde gösterir.

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

Değişken grubundaki değişkenleri güncelleştirme

Değişken grubundaki bir değişkeni az pipelines variable-group variable update komutuyla güncelleştirin . CLI için Azure DevOps uzantısı sizin için yeniyse bkz . Azure DevOps CLI'yı kullanmaya başlama.

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

Parametreler

  • group-id: Gerekli. Değişken grubunun kimliği. Değişken grubu kimliğini bulmak için bkz . Değişken gruplarını listeleme.
  • name: Gerekli. Eklediğiniz değişkenin adı.
  • new-name: İsteğe bağlı. Değişkenin adını değiştirmek için belirtin.
  • kuruluş: Azure DevOps kuruluş URL'si. kullanarak az devops configure -d organization=ORG_URLvarsayılan kuruluşu yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir. Örnek: --org https://dev.azure.com/MyOrganizationName/.
  • project: Projenin adı veya kimliği. kullanarak az devops configure -d project=NAME_OR_IDvarsayılan projeyi yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir.
  • prompt-value: Ortam değişkenini veya standart giriş aracılığıyla istem kullanarak gizli dizi değişkeninin değerini güncelleştirmek için true olarak ayarlayın. Kabul edilen değerler false ve true değerleridir.
  • gizli dizi: İsteğe bağlı. Değişkenin değerinin gizli tutulup tutulmadığını gösterir. Kabul edilen değerler false ve true değerleridir.
  • value: değişkeninin değerini Güncelleştirmeler. Gizli dizi değişkenleri için, standart giriş aracılığıyla girmeniz istenecek prompt-value parametresini kullanın. Etkileşimli olmayan konsollar için, ön ekli AZURE_DEVOPS_EXT_PIPELINE_VAR_ortam değişkeninden seçilebilir. Örneğin, MySecret adlı bir değişken ortam değişkeni AZURE_DEVOPS_EXT_PIPELINE_VAR_MySecretkullanılarak giriş yapılabilir.

Örnek

Aşağıdaki komut requires-login değişkenini 4 kimliğine sahip değişken grubundaki yeni False değeriyle güncelleştirir. Değişkenin bir gizli dizi olduğunu belirtir ve sonucu YAML biçiminde gösterir. Gizli bir gizli değer olduğundan çıktının değeri False yerine null olarak gösterdiğine dikkat edin.

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

requires-login:
  isSecret: true
  value: null

Değişken grubundan değişkenleri silme

az pipelines variable-group variable delete komutuyla değişken grubundan bir değişken silin . CLI için Azure DevOps uzantısı sizin için yeniyse bkz . Azure DevOps CLI'yı kullanmaya başlama.

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

Parametreler

  • group-id: Gerekli. Değişken grubunun kimliği. Değişken grubu kimliğini bulmak için bkz . Değişken gruplarını listeleme.
  • name: Gerekli. Sildiğiniz değişkenin adı.
  • kuruluş: Azure DevOps kuruluş URL'si. kullanarak az devops configure -d organization=ORG_URLvarsayılan kuruluşu yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir. Örnek: --org https://dev.azure.com/MyOrganizationName/.
  • project: Projenin adı veya kimliği. kullanarak az devops configure -d project=NAME_OR_IDvarsayılan projeyi yapılandırın. Varsayılan olarak yapılandırılmadıysa veya kullanılarak git configalınmadıysa gereklidir.
  • Evet: İsteğe bağlı. Onay istemez.

Örnek

Aşağıdaki komut, requires-login değişkenini 4 kimliğine sahip değişken grubundan siler ve onay ister.

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.

Not

Azure rol tabanlı erişim denetimi (Azure RBAC) kullanan Key Vault'lar desteklenmez.

Mevcut bir Azure anahtar kasasını bir değişken grubuna bağlayın ve seçmeli kasa gizli dizilerini değişken grubuna eşleyin.

  1. Değişken grupları sayfasında, Azure anahtar kasasından gizli dizileri değişken olarak bağlama'yı etkinleştirin. Gizli dizilerinizi içeren mevcut bir anahtar kasasına ihtiyacınız olacaktır. Azure portalını kullanarak bir anahtar kasası oluşturun.

    Screenshot of variable group with Azure key vault integration.

  2. Azure aboneliğinizin bitiş noktasını ve gizli dizilerinizi içeren kasanın adını belirtin.

    Azure hizmet bağlantısının gizli diziler için kasada en azından Alma ve Listeleme yönetimi izinlerine sahip olduğundan emin olun. Kasa adının yanındaki Yetkile'yi seçerek Azure Pipelines'ın bu izinleri ayarlamasını etkinleştirin. Öte yandan Azure portalında izinleri el ile de ayarlayabilirsiniz:

    1. Kasa için Ayarlar açın ve erişim ilkeleri>Yeni ekle'yi seçin.
    2. Sorumlu seç'i ve ardından istemci hesabınız için hizmet sorumlusunu seçin.
    3. Gizli dizi izinleri'ne tıklayın ve Al ve Liste'de onay işaretleri olduğundan emin olun.
    4. Değişiklikleri kaydetmek için Tamam'ı seçin.
  3. Değişken grupları sayfasında + Ekle'yi seçerek bu değişken grubuna eşlemek üzere kasanızdan belirli gizli dizileri seçin.

Anahtar kasası gizli dizilerini yönetme

Gizli dizileri yönetmek için aşağıdaki yararlı ipuçları listesine bakın.

  • Yalnızca gizli dizi adları değişken grubuna eşlenir, gizli dizi değerlerine eşlenmez. Kasadan getirilen en son gizli dizi değeri, değişken grubuna bağlı işlem hattı çalıştırmasında kullanılır.

  • Anahtar kasasında mevcut gizli dizilerde yapılan tüm değişiklikler, değişken grubunun kullandığı tüm işlem hatlarında otomatik olarak kullanılabilir.

  • Kasaya yeni gizli diziler eklendiğinde veya kasadan silindiğinde ilişkili değişken grupları otomatik olarak güncelleştirilmez. Değişken grubunu kullanan işlem hatlarının doğru şekilde yürütülmesi için değişken grubuna dahil edilen gizli dizilerin açıkça güncelleştirilmesi gerekir.

  • Azure Key Vault, Azure'da şifreleme anahtarlarının ve gizli dizilerinin depolanmasını ve yönetilmesini destekler. Şu anda Azure Pipelines değişken grubu tümleştirmesi yalnızca Azure anahtar kasasından gizli dizileri eşlemeyi destekler. Şifreleme anahtarları ve sertifikaları desteklenmez.

Gruptaki değişkenleri genişletme

Bir grupta bir değişken ayarlayıp yaml dosyasında kullandığınızda, YAML dosyasındaki diğer tanımlı değişkenlere eşittir. Değişkenlerin önceliği hakkında daha fazla bilgi için bkz . Değişkenler.

YAML, TFS'de desteklenmez.