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 | Azure DevOps Server | Azure DevOps Server 2022
Klasik yayın işlem hatlarında değişkenleri kullanmak, işlem hattınız genelinde veri alışverişi ve taşımanın kullanışlı bir yoludur. Her değişken bir dize olarak depolanır ve değeri işlem hattı çalıştırmaları arasında değişebilir.
Yalnızca şablon ayrıştırma zamanında kullanılabilen Çalışma Zamanı parametrelerinin aksine, Klasik yayın işlem hatlarındaki değişkenlere tüm dağıtım işlemi boyunca erişilebilir.
Klasik yayın işlem hattınızın her aşamasında uygulamanızı dağıtmak için görevler ayarladığınızda değişkenler size yardımcı olabilir:
Özelleştirmeyi basitleştirme: Genel dağıtım işlem hattını bir kez tanımlayın ve farklı aşamalar için kolayca uyarlayın. Örneğin, bir web dağıtımının bağlantı dizesi temsil etmek için bir değişken kullanın ve her aşama için gereken değeri ayarlayın. Bu değişkenler özel değişkenler olarak bilinir.
Bağlamsal bilgilerden yararlanın: Yayın bağlamı hakkında aşama, yapıt veya dağıtımı çalıştıran aracı gibi ayrıntılara erişin. Örneğin, betiklerinizin indirme yapmak için derleme konumuna veya geçici dosyalar oluşturmak için aracının çalışma dizinine ihtiyacı olabilir. Bu değişkenler varsayılan değişkenler olarak adlandırılır.
Not
YAML işlem hatları için daha fazla ayrıntı için kullanıcı tanımlı değişkenlere ve önceden tanımlanmış değişkenlere bakın.
Varsayılan değişkenler
Varsayılan değişkenler, çalışan görevlerinize ve betiklerinize yönelik yürütme bağlamı hakkında temel bilgiler sağlar. Bu değişkenler, üzerinde çalıştıkları sistem, sürüm, aşama veya aracı hakkındaki ayrıntılara erişmenizi sağlar.
System.Debug dışında, varsayılan değişkenler salt okunur olur ve sistem değerlerini otomatik olarak ayarlar.
En önemli değişkenlerden bazıları aşağıdaki tablolarda açıklanmıştır. Listenin tamamını görüntülemek için bkz . Tüm değişkenlerin geçerli değerlerini görüntüleme.
Sistem değişkenleri
| Değişken adı | Açıklama |
|---|---|
| System.TeamFoundationServerUri | Azure Pipelines'da hizmet bağlantısının URL'si. Azure Pipelines REST API'lerini çağırmak için betiklerinizde veya görevlerinizde bu değişkeni kullanın. Örnek: https://fabrikam.vsrm.visualstudio.com/ |
| System.TeamFoundationCollectionUri | Team Foundation koleksiyonunun veya Azure Pipelines'ın URL'si. Derleme ve Sürüm denetimi gibi diğer hizmetlerde REST API'lerini çağırmak için betiklerinizde veya görevlerinizde bu değişkeni kullanın. Örnek: https://dev.azure.com/fabrikam/ |
| System.CollectionId | Bu derleme veya yayının ait olduğu koleksiyonun ID'si. Örnek: 6c6f3423-1c84-4625-995a-f7f143a1e43d |
| System.DefinitionId | Geçerli sürümün ait olduğu yayın işlem hattının kimliği. Örnek: 1 |
| System.TeamProject | Bu derlemenin veya yayının ait olduğu projenin adı. Örnek: Fabrikam |
| System.TeamProjectId | Bu derlemenin veya sürümün ait olduğu projenin kimliği. Örnek: 79f5c12e-3337-4151-be41-a268d2c73344 |
| System.ArtifactsDirectory | Yayın dağıtımı sırasında işlem hattının yayın yapıtlarını indirdiği dizin. İşlem hattı, aracıya yapıtların indirilmesi gerekiyorsa her dağıtımdan önce dizini temizler. ve Agent.ReleaseDirectoryile System.DefaultWorkingDirectory aynı.Örnek: C:\agent\_work\r1\a |
| System.DefaultWorkingDirectory | Yayın dağıtımı sırasında işlem hattının yapıtları indirdiği dizin. İşlem hattı, aracıya yapıtların indirilmesi gerektiğinde her dağıtımdan önce dizini temizler. ve Agent.ReleaseDirectoryile System.ArtifactsDirectory aynı.Örnek: C:\agent\_work\r1\a |
| System.WorkFolder | İşlem hattının her derleme veya yayın için alt klasörler oluşturduğu bu aracı için çalışma dizini. ve Agent.RootDirectoryile Agent.WorkFolder aynı.Örnek: C:\agent\_work |
| System.Debug | Bu, kullanıcıların ayarlayabileceğiniz tek sistem değişkenidir. Hata bulma işlemine yardımcı olmak için truebu değişkeni hata ayıklama modunda çalıştıracak şekilde ayarlayın.Örnek: true |
Sürüm değişkenleri
| Değişken adı | Açıklama |
|---|---|
| Serbest Bırakma.DenemeNumarası | Bu sürümün bu aşamada dağıtılma sayısı. Örnek: 1 |
| Release.DefinitionEnvironmentId (Yayın.TanımOrtamId) | İlgili yayın işlem hattındaki aşamanın kimliği. Örnek: 1 |
| Release.DefinitionId | Geçerli sürümün ait olduğu yayın işlem hattının kimliği. Örnek: 1 |
| Release.DefinitionName | Geçerli sürümün ait olduğu yayın işlem hattının adı. Örnek: fabrikam-cd |
| Sürüm.Dağıtım.TalepEdilen | Sürmekte olan dağıtımı tetikleyen (başlatan) kimliğin görünen adı. Örnek: Mateo Escobedo |
| Sürüm.Yayın.Dağıtımı.TalepEdilenEposta | Sürmekte olan dağıtımı tetikleyen (başlatan) kimliğin e-posta adresi. Örnek: mateo@fabrikam.com |
| Release.Deployment.RequestedForId | Halen devam etmekte olan dağıtımı tetikleyen (başlatan) kimliğin kimlik numarası. Örnek: 2f435d07-769f-4e46-849d-10d1ab9ba6ab |
| Release.DeploymentID | Dağıtımın kimliği. Her iş için benzersiz. Örnek: 254 |
| Release.DeployPhaseID | Dağıtımın çalıştığı aşamanın kimliği. Örnek: 127 |
| Yayın.OrtamId | Dağıtımın şu anda devam etmekte olduğu bir sürümdeki aşama örneğinin kimliği. Örnek: 276 |
| Yayın.OrtamAdı | Dağıtımın şu anda devam ettiği aşamanın ismi. Örnek: Dev |
| Release.EnvironmentUri | Dağıtımın devam ettiği bir sürümdeki aşama örneğinin URI'sini. Örnek: vstfs://ReleaseManagement/Environment/276 |
| Release.Environments.{stage-name}.status | Aşamanın dağıtım durumu. Örnek: InProgress |
| Release.PrimaryArtifactSourceAlias | Birincil yapıt kaynağının diğer adı. Örnek: fabrikam\_web |
| Serbest Bırakma Nedeni | Dağıtımın nedeni. Desteklenen değerler şunlardır:ContinuousIntegration - sürüm, bir derleme tamamlandıktan sonra Sürekli Dağıtım sürecinde başlatıldı.Manual - sürüm el ile başlatıldı.None - dağıtım nedeni belirtilmemiş.Schedule - yayın bir zamanlamadan başladı. |
| Sürüm.SürümAçıklaması | Yayın sırasında sağlanan metin açıklaması. Örnek: Critical security patch |
| Release.ReleaseId | Geçerli yayın kaydının tanımlayıcısı. Örnek: 118 |
| Sürüm.SürümAdı | Geçerli sürümün adı. Örnek: Release-47 |
| Release.ReleaseUri | Geçerli sürümün URI'sini. Örnek: vstfs://ReleaseManagement/Release/118 |
| Release.ReleaseWebURL | Bu sürümün URL'si. Örnek: https://dev.azure.com/fabrikam/f3325c6c/_release?releaseId=392&_a=release-summary |
| Yayın.TalepEdilenKişi | Yayını tetikleyen kimliğin görünen adı. Örnek: Mateo Escobedo |
| Yayımlama.TalepEdilenEposta | Yayını tetikleyen kullanıcı kimliğinin e-posta adresi. Örnek: mateo@fabrikam.com |
| Yayın.TalepEdenId | Tetiklemeyi gerçekleştiren kimliğin kimlik numarası. Örnek: 2f435d07-769f-4e46-849d-10d1ab9ba6ab |
| Release.SkipArtifactsİndir | Yapıtların aracıya indirilmesinin atlanıp atlanmayacağını belirten Boole değeri. Örnek: FALSE |
| Release.TriggeringArtifact.Alias | Yayını tetikleyen nesnenin takma adı. Sürüm el ile zamanlandığında veya tetiklendiğinde bu değer boş olur. Örnek: fabrikam\_app |
Yayın aşaması değişkenleri
| Değişken adı | Açıklama |
|---|---|
| Release.Environments.{stage name}.Durum | Bu sürümün belirtilen aşama içinde dağıtım durumu. Örnek: NotStarted |
Aracı değişkenleri
| Değişken adı | Açıklama |
|---|---|
| Agent.Name |
Aracı havuzuna kayıtlı olarak acentenin adı. Bu ad büyük olasılıkla bilgisayar adından farklıdır. Örnek: fabrikam-agent |
| Agent.MachineName | Ajanın yapılandırıldığı bilgisayarın adı. Örnek: fabrikam-agent |
| Agent.Version | Ajana yazılımının sürümü. Örnek: 2.109.1 |
| Agent.JobName | Çalıştırılan görevin adı, Yayın veya Derleme gibi. Örnek: Release |
| Agent.HomeDirectory | Ajanın yüklü olduğu klasör. Bu klasör, aracının kodunu ve kaynaklarını içerir. Örnek: C:\agent |
| Agent.ReleaseDirectory | Sürüm dağıtımının yapıtları indirdiği dizin. Aracıya artifaktların indirilmesi gerekiyorsa dizin, her dağıtım öncesinde temizlenir. ve System.ArtifactsDirectoryile System.DefaultWorkingDirectory aynıdır.Örnek: C:\agent\_work\r1\a |
| Agent.RootDirectory | Her derleme veya yayın için alt klasörlerin oluşturulduğu bu aracı için çalışma dizini. ve Agent.WorkFolderile System.WorkFolder aynıdır.Örnek: C:\agent\_work |
| Agent.WorkFolder | Her derleme veya yayın için alt klasörlerin oluşturulduğu bu aracı için çalışma dizini. ve Agent.RootDirectoryile System.WorkFolder aynıdır.Örnek: C:\agent\_work |
| Agent.DeploymentGroupId | Aracının kayıt olduğu dağıtım grubunun kimliği. Bu kimlik yalnızca dağıtım grubu işlerinde kullanılabilir. Örnek: 1 |
Yayın artefakt değişkenleri
Sürümde referans verdiğiniz her artefakt için aşağıdaki artefakt değişkenlerini kullanın. Tüm değişkenlerin her yapıt türü için geçerli olmadığını unutmayın. Aşağıdaki tablo varsayılan yapıt değişkenlerini listeler ve yapıt türüne göre değerlerinin örneklerini sağlar. Bir örnek boşsa, değişkenin bu yapıt türü için geçerli olmadığını gösterir.
{alias} yer tutucusunu, artefakt kaynağı diğer adı için belirttiğiniz değerle veya yayın işlem hattı için oluşturulan varsayılan değerle değiştirin.
| Değişken adı | Açıklama |
|---|---|
| Release.Artifacts.{alias}.Tanım Kimliği | Yapı işlem hattının veya deponun tanımlayıcısı. Örnekler: Azure Pipelines: 1Github: fabrikam/asp |
| Release.Artifacts.{alias}.TanımAdı | Derleme işlem hattının veya deponun adı. Örnekler: Azure Pipelines: fabrikam-ciTFVC: $/fabrikamAptal: fabrikamGithub: fabrikam/asp (main) |
| Release.Artifacts. {alias}. BuildNumber | Derleme numarası veya işleme tanımlayıcısı. Örnekler: Azure Pipelines: 20170112.1Jenkins: 20170112.1TFVC: Changeset 3Aptal: 38629c964Github: 38629c964 |
| Release.Artifacts.{alias}.BuildId | Derleme tanımlayıcısı. Örnekler: Azure Pipelines: 130Jenkins: 130Github: 38629c964d21fe405ef830b7d0220966b82c9e11 |
| Release.Artifacts.{alias}.BuildURI | Derlemenin URL'si. Örnekler: Azure Pipelines: vstfs://build-release/Build/130Github: https://github.com/fabrikam/asp |
| Release.Artifacts. {alias}. SourceBranch | Kaynağın oluşturulduğu dalın tam yolu ve adı. Örnekler: Azure Pipelines: refs/heads/main |
| Release.Artifacts. {alias}. SourceBranchName | Yalnızca kaynağın oluşturulduğu dalın adı. Örnekler: Azure Pipelines: main |
| Release.Artifacts.{alias}.SourceVersion | Oluşturulan işleme. Örnekler: Azure Pipelines: bc0044458ba1d9298cdc649cb5dcf013180706f7 |
| Release.Artifacts.{alias}.Repository.Provider | Kaynağın oluşturulduğu depo türü. Örnekler: Azure Pipelines: Git |
| Release.Artifacts.{alias}.RequestedForID | Derlemeyi tetikleyen hesabın tanımlayıcısı. Örnekler: Azure Pipelines: 2f435d07-769f-4e46-849d-10d1ab9ba6ab |
| Release.Artifacts.{alias}.RequestedFor | Derlemeyi isteyen hesabın adı. Örnekler: Azure Pipelines: Mateo Escobedo |
| Release.Artifacts.{alias}.Tür | Derleme gibi artefakt kaynağının türü. Examples: Azure Pipelines: BuildJenkins: JenkinsAzure DevOps Services: TFVCAptal: GitGithub: GitHub |
| Release.Artifacts. {alias}. PullRequest.TargetBranch | Pull isteğinin hedefi olan dalın adı ve tam yolu. Bu değişken, yalnızca bir çekme isteği akışı tarafından tetiklendiğinde başlatılır. Örnekler: Azure Pipelines: refs/heads/main |
| Release.Artifacts. {alias}. PullRequest.TargetBranchName | Yalnızca çekme isteğinin hedefi olan dalın adı. Bu değişken, yalnızca bir çekme isteği akışı tarafından tetiklendiğinde başlatılır. Örnekler: Azure Pipelines: main |
Ana nesne değişkenleri
Klasik yayın işlem hatlarında, birden çok yapıt kullanıyorsanız, bir yapıtı birincil yapıt olarak belirleyebilirsiniz. Ardından Azure Pipelines, belirlenen birincil yapıt için aşağıdaki değişkenleri doldurur.
| Değişken adı | Aynı |
|---|---|
| Build.DefinitionId | Release.Artifacts. {Birincil yapıt diğer adı}. Tanım Kimliği |
| Build.DefinitionName | Release.Artifacts. {Birincil yapıt diğer adı}. TanımAdı |
| Build.BuildNumber | Release.Artifacts. {Birincil yapıt diğer adı}. BuildNumber |
| Build.BuildId | Release.Artifacts.{Birincil yapıt takma adı}.BuildId |
| Build.BuildURI | Release.Artifacts. {Birincil yapıt diğer adı}. BuildURI |
| Build.SourceBranch | Release.Artifacts. {Birincil yapıt diğer adı}. SourceBranch |
| Build.SourceBranchName | Release.Artifacts. {Birincil yapıt diğer adı}. SourceBranchName |
| Build.SourceVersion | Release.Artifacts.{Birincil yapıt diğer adı}.KaynakSürümü |
| Build.Repository.Provider | Release.Artifacts. {Birincil yapıt diğer adı}. Repository.Provider |
| Build.RequestedForID | Release.Artifacts. {Birincil yapıt diğer adı}. RequestedForID |
| Build.RequestedFor | Release.Artifacts. {Birincil yapıt diğer adı}. RequestedFor |
| Build.Type | Release.Artifacts.{Birincil yapıt diğer adı}.Tür |
| Build.PullRequest.TargetBranch | Release.Artifacts. {Birincil yapıt diğer adı}. PullRequest.TargetBranch |
| Build.PullRequest.TargetBranchName | Release.Artifacts. {Birincil yapıt diğer adı}. PullRequest.TargetBranchName |
Varsayılan değişkenleri kullanma
Varsayılan değişkenleri iki şekilde kullanabilirsiniz: yayın işlem hattındaki veya betiklerinizdeki görevlerin parametreleri olarak.
Varsayılan değişkeni doğrudan göreve giriş olarak kullanın. Örneğin, Release.Artifacts.{Artifact alias}.DefinitionName'ı, diğer adı ASPNET4.CI olan bir yapıtın PowerShell görevine argüman olarak geçirmek için $(Release.Artifacts.ASPNET4.CI.DefinitionName) kullanın.
Betiğinizde varsayılan bir değişken kullanmak için, varsayılan değişken adlarındaki .'ı _ ile değiştirin. Örneğin, bir PowerShell betiğinde, diğer adı Release.Artifacts.{Artifact alias}.DefinitionName olan bir yapıtın değerini yazdırmak için $env:RELEASE_ARTIFACTS_ASPNET4_CI_DEFINITIONNAME kullanın.
ASPNET4.CI özgün diğer adı ASPNET4_CI ile değiştirilir.
Özel değişkenler
Farklı kapsamlarda özel değişkenler tanımlayabilirsiniz.
Değişken Grupları: Bir projedeki tüm tanımlarda değerleri paylaşmak için değişken grupları kullanın. Bu yaklaşım, bir proje içindeki tanımlar, aşamalar ve görevler boyunca aynı değerleri kullanmak ve bunları tek bir konumdan yönetmek istediğinizde kullanışlıdır. İşlem Hatları>Kitaplığı'nda değişken grupları tanımlayın ve yönetin.
Yayın İşlem Hattı Değişkenleri: Yayın işlem hattı içindeki tüm aşamalarda değerleri paylaşmak için yayın işlem hattı değişkenlerini kullanın. Bu yaklaşım, aşamalar ve görevler arasında tutarlı bir değere ihtiyaç duyduğunuz ve bunu tek bir konumdan güncelleştirebileceğiniz senaryolar için idealdir. Yayın işlem hattının Değişkenler sekmesinde bu değişkenleri tanımlayın ve yönetin. İşlem Hattı Değişkenleri sayfasında, bir değişken eklerken Kapsam açılan listesini Yayın olarak ayarlayın.
Aşama Değişkenleri: Yayın işlem hattının belirli bir aşamasındaki değerleri paylaşmak için aşama değişkenlerini kullanın. Bu yaklaşım, aşamadan aşamaya farklılık gösteren ancak bir aşama içindeki tüm görevler arasında tutarlı olan değerler için kullanışlıdır. Yayın işlem hattının Değişkenler sekmesinde bu değişkenleri tanımlayın ve yönetin. İşlem Hattı Değişkenleri sayfasında, bir değişken eklerken Kapsam açılan listesini uygun ortama ayarlayın.
Projede, yayın işlem hattında ve aşama düzeylerinde özel değişkenler kullanarak şunları yapabilirsiniz:
Değerleri tekrarlamaktan kaçının, böylece tüm oluşumları tek bir değişiklikle güncellemeyi kolaylaştırır.
Hassas değerlerin kullanıcılar tarafından görüntülenmesini veya değiştirilmesini engelleyerek bunların güvenliğini sağlayın. Bir değişkeni güvenli (gizli dizi) olarak işaretlemek için değişkenin
yanındaki simgeyi seçin.Önemli
Gizli değişkenlerin (gizli dizi) değerleri sunucuda güvenli bir şekilde depolanır ve kullanıcılar kaydedildikten sonra bunları görüntüleyemez. Dağıtım sırasında Azure Pipelines, görevler bunlara başvurduğunda bu değerlerin şifresini çözer ve bunları güvenli bir HTTPS kanalı üzerinden aracıya geçirir.
Not
Özel değişkenler oluşturmak standart değişkenlerin üzerine yazabilir. Örneğin, bir Windows aracısı üzerinde özel bir Path değişkeni tanımlarsanız, $env:Path değişkeninin üzerine yazar ve PowerShell'in düzgün çalışmasını engelleyebilir.
Özel değişkenler kullanma
Görevlerinizde özel değişkenler kullanmak için değişken adını parantez içine alın ve önüne bir $ karakter koyun. Örneğin, adminUserName adlı bir değişkeniniz varsa, geçerli değerini bir göreve $(adminUserName) ekleyin.
Not
Aynı kapsamdaki bir işlem hattına bağlı farklı gruplardan değişkenler (örneğin, iş veya aşama) çakışabilir ve öngörülemeyen sonuçlara yol açabilir. Bu sorunu önlemek için tüm değişken gruplarınızdaki değişkenlerin benzersiz adlara sahip olduğundan emin olun.
Bir betikte veya senaryoda değişkenlerinizi tanımlayın ve değiştirin
Bir betikten değişken tanımlamak veya değiştirmek için task.setvariable kayıt komutunu kullanın. Güncellenmiş değişken değerinin kapsamı, yürütülen işin kapsamına özeldir ve işler veya aşamalar arasında kalıcı değildir. Değişken adlarının büyük harfe dönüştürüldüğünü ve "." ile " " karakterlerinin "_" ile değiştirildiğini unutmayın.
Örneğin Agent.WorkFolder, AGENT_WORKFOLDER olur.
- Windows'da bu değişkene
%AGENT_WORKFOLDER%veya$env:AGENT_WORKFOLDERolarak erişin. - Linux ve macOS'ta kullanın
$AGENT_WORKFOLDER.
İpucu
Bir betiği şurada çalıştırabilirsiniz:
- Batch betik görevi veya PowerShell görevi kullanan bir Windows aracısı.
- Kabuk betik görevi kullanan bir macOS veya Linux aracısı.
Batch betiği
sauce ve secret.Sauce değişkenlerini ayarlama
@echo ##vso[task.setvariable variable=sauce]crushed tomatoes
@echo ##vso[task.setvariable variable=secret.Sauce;issecret=true]crushed tomatoes with garlic
Değişkenleri okuma
Argümanlar
"$(sauce)" "$(secret.Sauce)"
Senaryo
@echo off
set sauceArgument=%~1
set secretSauceArgument=%~2
@echo No problem reading %sauceArgument% or %SAUCE%
@echo But I cannot read %SECRET_SAUCE%
@echo But I can read %secretSauceArgument% (but the log is redacted so I do not spoil the secret)
Değişkenlerin okunmasından konsol çıkışı:
No problem reading crushed tomatoes or crushed tomatoes
But I cannot read
But I can read ******** (but the log is redacted so I do not spoil the secret)
Tüm değişkenlerin geçerli değerlerini görüntüleme
"İşlem Hatları>Yayınlar'ı seçin ve ardından yayın işlem hattınızı seçin."
Yayınınızın özet görünümünü açın ve ilgilendiğiniz aşamayı seçin. Adım listesinde İşi başlat'ı seçin.
Bu adım günlükleri açar. Bu iş için aracının kullandığı değerleri görmek üzere aşağı kaydırın.
Bir sürümü hata ayıklama modunda çalıştırma
Bir sürümün hata ayıklama modunda çalıştırılması, yayın yürütme sırasında ek bilgiler görüntüleyerek sorunları tanılamanıza ve çözmenize yardımcı olabilir. Hata ayıklama modunu tüm sürüm için veya yalnızca belirli bir sürüm aşamasındaki görevler için açabilirsiniz.
Tüm sürümde hata ayıklama modunu açmak için yayın işlem hattının
System.Debugsekmesine değeriyletrueadlı bir değişken ekleyin.Belirli bir aşama için hata ayıklama modunu açmak için, aşamanın kısayol menüsünden Aşamayı yapılandır iletişim kutusunu açın ve
System.Debugsekmesine değeriyletrueadlı bir değişken ekleyin.Alternatif olarak, değerine sahip adlı
System.Debugbir değişken içeren bir değişken grubutrueve bu değişken grubunu yayın işlem hattına bağlayın.
İpucu
Azure Resource Manager hizmet bağlantılarıyla ilgili bir hatayla karşılaşırsanız, diğer ayrıntılar için bkz . Nasıl yapılır: Azure Resource Manager hizmet bağlantılarında sorun giderme .