Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Použití proměnných v Classic release pipelines představuje pohodlný způsob výměny a přenosu dat v rámci vašeho pipeline. Každá proměnná je uložená jako řetězec a její hodnota se může mezi spuštěními kanálu měnit.
Na rozdíl od parametrů modulu runtime, které jsou k dispozici pouze v době analýzy šablon, jsou proměnné v kanálech verze Classic přístupné během celého procesu nasazení.
Když nastavíte úlohy pro nasazení aplikace v každé fázi kanálu uvolnění Classic, mohou vám pomoci proměnné:
Zjednodušení přizpůsobení: Definujte obecný kanál nasazení jednou a snadno ho přizpůsobte pro různé fáze. Použijte například proměnnou k reprezentaci připojovacího řetězce webového nasazení a upravte jeho hodnotu podle potřeby pro každou fázi. Tyto proměnné se označují jako vlastní proměnné.
Využití kontextových informací: Přístup k podrobnostem o kontextu uvolnění, jako fáze, artefakt nebo agent, na kterém běží nasazení. Skripty můžou například vyžadovat umístění sestavení ke stažení nebo pracovní adresář agenta k vytvoření dočasných souborů. Tyto proměnné se označují jako výchozí proměnné.
Poznámka:
Další podrobnosti o kanálech YAML najdete v uživatelsky definovaných proměnných a předdefinovaných proměnných.
Výchozí proměnné
Výchozí proměnné poskytují základní informace o kontextu spouštění spuštěných úloh a skriptů. Tyto proměnné poskytují přístup k podrobnostem o systému, vydání, fázi nebo agentovi , ve kterém jsou spuštěné.
S výjimkou System.Debug jsou výchozí proměnné jen pro čtení a systém automaticky nastaví jejich hodnoty.
Některé z nejvýznamnějších proměnných jsou popsány v následujících tabulkách. Pokud chcete zobrazit úplný seznam, podívejte se na zobrazení aktuálních hodnot všech proměnných.
Systémové proměnné
| Název proměnné | Popis |
|---|---|
| System.TeamFoundationServerUri | Adresa URL připojení služby v Azure Pipelines. Tuto proměnnou můžete použít ve skriptech nebo úlohách k volání rozhraní REST API služby Azure Pipelines. Příklad: https://fabrikam.vsrm.visualstudio.com/ |
| System.TeamFoundationCollectionUri | Adresa URL kolekce Team Foundation nebo Azure Pipelines Tuto proměnnou můžete použít ve skriptech nebo úkolech k volání rozhraní REST API v jiných službách, jako je sestavení a správa verzí. Příklad: https://dev.azure.com/fabrikam/ |
| System.CollectionId | ID kolekce, do které patří toto sestavení nebo verze. Příklad: 6c6f3423-1c84-4625-995a-f7f143a1e43d |
| System.DefinitionId | ID vydávacího kanálu, ke kterému aktuální verze patří. Příklad: 1 |
| System.TeamProject | Název projektu, do kterého patří toto sestavení nebo vydání. Příklad: Fabrikam |
| System.TeamProjectId | ID projektu, do kterého patří toto sestavení nebo vydání. Příklad: 79f5c12e-3337-4151-be41-a268d2c73344 |
| System.ArtifactsDirectory | Adresář, do něhož potrubí stáhne artefakty během nasazení verze. Kanál vymaže adresář před každým nasazením v případě, že je potřeba stáhnout artefakty do agenta. Stejné jako Agent.ReleaseDirectory a System.DefaultWorkingDirectory.Příklad: C:\agent\_work\r1\a |
| System.DefaultWorkingDirectory | Adresář, do kterého kanál stáhne artefakty během nasazení vydané verze. Potrubí vymaže adresář před každým nasazením, pokud je potřeba stáhnout artefakty do agenta. Stejné jako Agent.ReleaseDirectory a System.ArtifactsDirectory.Příklad: C:\agent\_work\r1\a |
| System.WorkFolder | Pracovní adresář pro tohoto agenta, kde pipeline vytvoří podsložky pro každé sestavení nebo vydání. Stejné jako Agent.RootDirectory a Agent.WorkFolder.Příklad: C:\agent\_work |
| System.Debug | Toto je jediná systémová proměnná, kterou můžou uživatelé nastavit. Nastavte tuto proměnnou tak, aby truese verze spustila v režimu ladění , aby pomohla při hledání chyb.Příklad: true |
Proměnné pro vydání
| Název proměnné | Popis |
|---|---|
| Release.AttemptNumber | Kolikrát je tato verze v této fázi nasazená. Příklad: 1 |
| Release.DefinitionEnvironmentId | Identifikátor fáze v odpovídajícím vydávacím potrubí. Příklad: 1 |
| Release.DefinitionId | ID vydávacího kanálu, ke kterému aktuální verze patří. Příklad: 1 |
| Release.DefinitionName | Název vydávacího kanálu, k němuž aktuální vydání patří. Příklad: fabrikam-cd |
| Uvolnění.Nasazení.PožadovánoPro | Zobrazovaný název identity, která aktivovala (spustila) probíhající nasazení. Příklad: Mateo Escobedo |
| Release.Deployment.RequestedForEmail | E-mailová adresa identity, která aktivovala (spustila) probíhající nasazení. Příklad: mateo@fabrikam.com |
| Release.Deployment.RequestedForId | Identifikační číslo identity, která spustila (zahájila) právě probíhající nasazení. Příklad: 2f435d07-769f-4e46-849d-10d1ab9ba6ab |
| Release.DeploymentID | Identifikátor nasazení. Jedinečné pro každou úlohu. Příklad: 254 |
| Release.DeployPhaseID | ID fáze, ve které probíhá nasazení. Příklad: 127 |
| Release.EnvironmentId | ID instance fáze ve vydané verzi, do které aktuálně probíhá nasazení. Příklad: 276 |
| Verze.NázevProstředí | Název fáze, do které právě probíhá nasazení. Příklad: Dev |
| Release.EnvironmentUri | Identifikátor URI instance fáze v rámci verze vydání, ve které právě probíhá nasazení. Příklad: vstfs://ReleaseManagement/Environment/276 |
| Release.Environment. {stage-name}.status | Stav nasazení fáze. Příklad: InProgress |
| Release.PrimaryArtifactSourceAlias | Alias primárního zdroje artefaktů. Příklad: fabrikam\_web |
| Důvod vydání | Důvod nasazení. Podporované hodnoty jsou:ContinuousIntegration – verze byla spuštěna v průběžném nasazování po dokončení sestavení.Manual – vydání bylo spuštěno ručně.None – důvod nasazení není zadaný.Schedule – vydání začalo podle plánu. |
| Uvolnění.PopisUvolnění | Textový popis uvedený v době vydání. Příklad: Critical security patch |
| Release.ReleaseId | Identifikátor záznamu aktuálního vydání. Příklad: 118 |
| Release.ReleaseName | Název aktuální verze Příklad: Release-47 |
| Release.ReleaseUri | URI aktuální verze. Příklad: vstfs://ReleaseManagement/Release/118 |
| Release.ReleaseWebURL | Adresa URL pro tuto verzi. Příklad: https://dev.azure.com/fabrikam/f3325c6c/_release?releaseId=392&_a=release-summary |
| Vydání.PožadovánoPro | Zobrazovaný název identity, která aktivovala vydání. Příklad: Mateo Escobedo |
| Release.RequestedForEmail | E-mailová adresa identity, která aktivovala uvolnění. Příklad: mateo@fabrikam.com |
| Release.RequestedForId | ID identity, která aktivovala vydání. Příklad: 2f435d07-769f-4e46-849d-10d1ab9ba6ab |
| Release.SkipArtifactsDownload | Logická hodnota, která určuje, jestli se má přeskočit stahování artefaktů do agenta. Příklad: FALSE |
| Release.TriggeringArtifact.Alias | Alias artefaktu, který spustil vydání. Tato hodnota je prázdná, pokud je uvolnění naplánováno nebo spuštěno ručně. Příklad: fabrikam\_app |
Proměnné fáze vydání
| Název proměnné | Popis |
|---|---|
| Release.Prostředí. {stage name}. Stav | Stav nasazení této verze v zadané fázi. Příklad: NotStarted |
Proměnné agenta
| Název proměnné | Popis |
|---|---|
| Agent.Name | Název agenta zaregistrovaný ve fondu pro agenty. Tento název se pravděpodobně liší od názvu počítače. Příklad: fabrikam-agent |
| Agent.MachineName | Název počítače, na kterém je agent nakonfigurován. Příklad: fabrikam-agent |
| Agent.Version | Verze softwaru agenta. Příklad: 2.109.1 |
| Agent.JobName | Název úlohy, která se spouští, například Release nebo Build. Příklad: Release |
| Agent.HomeDirectory | Složka, ve které je agent nainstalovaný. Tato složka obsahuje kód a prostředky agenta. Příklad: C:\agent |
| Agent.ReleaseDirectory | Adresář, do kterého se stáhnou artefakty při nasazení vydané verze. Adresář se vymaže před každým nasazením, pokud adresář vyžaduje stažení artefaktů do agentem. Je to stejné jako System.ArtifactsDirectory a System.DefaultWorkingDirectory.Příklad: C:\agent\_work\r1\a |
| Agent.RootDirectory | Pracovní adresář pro tohoto agenta, kde se vytvoří podsložky pro každé sestavení nebo verzi. Je to stejné jako Agent.WorkFolder a System.WorkFolder.Příklad: C:\agent\_work |
| Agent.WorkFolder | Pracovní adresář pro tohoto agenta, kde se vytvoří podsložky pro každé sestavení nebo verzi. Je to stejné jako Agent.RootDirectory a System.WorkFolder.Příklad: C:\agent\_work |
| Agent.DeploymentGroupId | ID skupiny nasazení, ke které se agent zaregistruje. Tento identifikátor je k dispozici pouze v úlohách skupiny nasazení. Příklad: 1 |
Proměnné vydání artefaktů
Pro každý artefakt, na který odkazujete ve vydané verzi, použijte následující proměnné artefaktů. Všimněte si, že ne všechny proměnné platí pro každý typ artefaktu. Následující tabulka uvádí výchozí proměnné artefaktů a uvádí příklady jejich hodnot na základě typu artefaktu. Pokud je příklad prázdný, znamená to, že proměnná není pro tento typ artefaktu použitelná.
{alias} Zástupný symbol nahraďte hodnotou, kterou zadáte pro alias zdroje artefaktů, nebo výchozí hodnotou vygenerovanou pro vydávací kanál.
| Název proměnné | Popis |
|---|---|
| Release.Artifacts. {alias}. DefinitionId | Identifikátor kanálu buildu nebo úložiště. Příklady: Azure Pipelines: 1Github: fabrikam/asp |
| Release.Artifacts. {alias}. DefinitionName | Název kanálu buildu nebo úložiště. Příklady: Azure Pipelines: fabrikam-ciTFVC: $/fabrikamLotr: fabrikamGithub: fabrikam/asp (main) |
| Release.Artifacts. {alias}. BuildNumber | Číslo sestavení nebo identifikátor potvrzení. Příklady: Azure Pipelines: 20170112.1Jenkins: 20170112.1TFVC: Changeset 3Lotr: 38629c964Github: 38629c964 |
| Release.Artifacts.{alias}.BuildId | Identifikátor sestavení. Příklady: Azure Pipelines: 130Jenkins: 130Github: 38629c964d21fe405ef830b7d0220966b82c9e11 |
| Release.Artifacts.{alias}.BuildURI | Adresa URL sestavení. Příklady: Azure Pipelines: vstfs://build-release/Build/130Github: https://github.com/fabrikam/asp |
| Release.Artifacts.{alias}.Zdrojová větev | Úplná cesta a název větve, ze které byl zdroj vytvořen. Příklady: Azure Pipelines: refs/heads/main |
| Release.Artifacts. {alias}. SourceBranchName | Název pouze větve, ze které byl zdroj sestaven. Příklady: Azure Pipelines: main |
| Release.Artifacts.{alias}.SourceVersion | Komit, který byl vytvořen. Příklady: Azure Pipelines: bc0044458ba1d9298cdc649cb5dcf013180706f7 |
| Release.Artifacts.{alias}.Repository.Provider | Typ úložiště, ze kterého byl zdroj sestaven. Příklady: Azure Pipelines: Git |
| Release.Artifacts.{alias}.RequestedForID | Identifikátor účtu, který aktivoval sestavení. Příklady: Azure Pipelines: 2f435d07-769f-4e46-849d-10d1ab9ba6ab |
| Release.Artifacts.{alias}.RequestedFor | Název účtu, který požadoval sestavení. Příklady: Azure Pipelines: Mateo Escobedo |
| Release.Artifacts.{alias}.Typ | Typ zdroje artefaktů, například Sestavení. Examples: Azure Pipelines: BuildJenkins: JenkinsAzure DevOps Services: TFVCLotr: GitGithub: GitHub |
| Release.Artifacts. {alias}. PullRequest.TargetBranch | Úplná cesta a název větve, která je cílem pull requestu. Tato proměnná se inicializuje pouze v případě, že se nasazení aktivuje tokem pull requestu. Příklady: Azure Pipelines: refs/heads/main |
| Release.Artifacts. {alias}. PullRequest.TargetBranchName | Název pouze větve, která je cílem žádosti o přijetí změn. Tato proměnná se inicializuje pouze v případě, že se nasazení aktivuje tokem pull requestu. Příklady: Azure Pipelines: main |
Proměnné primárního artefaktu
Pokud v klasických kanálech vydání používáte více artefaktů, můžete některý artefakt určit jako primární artefakt. Azure Pipelines pak naplní následující proměnné určeného primárního artefaktu.
| Název proměnné | Stejné jako |
|---|---|
| Build.DefinitionId | Release.Artifacts. {Alias primárního artefaktu}. DefinitionId |
| Build.DefinitionName | Release.Artifacts.{Alias primárního artefaktu}.DefinitionName |
| Build.BuildNumber | Release.Artifacts. {Alias primárního artefaktu}. BuildNumber |
| Build.BuildId | Release.Artifacts.{Alias primárního artefaktu}.BuildId |
| Build.BuildURI | Release.Artifacts. {Alias primárního artefaktu}. BuildURI |
| Build.SourceBranch | Release.Artifacts.{Alias primárního artefaktu}.Zdrojová větev |
| Build.SourceBranchName | Release.Artifacts. {Alias primárního artefaktu}. SourceBranchName |
| Build.SourceVersion | Release.Artifacts. {Alias primárního artefaktu}. SourceVersion |
| Build.Repository.Provider | Release.Artifacts.{Alias primárního artefaktu}.Repository.Provider |
| Build.RequestedForID | Release.Artifacts. {Alias primárního artefaktu}. RequestedForID |
| Build.RequestedFor | Release.Artifacts. {Alias primárního artefaktu}. RequestedFor |
| Build.Type | Release.Artifacts. {Alias primárního artefaktu}. Typ |
| Build.PullRequest.TargetBranch | Release.Artifacts. {Alias primárního artefaktu}. PullRequest.TargetBranch |
| Build.PullRequest.TargetBranchName | Release.Artifacts. {Alias primárního artefaktu}. PullRequest.TargetBranchName |
Použití výchozích proměnných
Výchozí proměnné můžete použít dvěma způsoby: jako parametry pro úlohy ve vydávacím kanálu nebo ve skriptech.
Výchozí proměnnou použijte přímo jako vstup pro úkol. Pokud chcete například předat Release.Artifacts.{Artifact alias}.DefinitionName jako argument úkolu PowerShellu pro artefakt s ASPNET4.CI jako jeho alias, použijte $(Release.Artifacts.ASPNET4.CI.DefinitionName).
Chcete-li použít výchozí proměnnou ve skriptu, nahraďte . ve výchozích názvech proměnných za _. Pokud chcete například vytisknout hodnotu artefaktu Release.Artifacts.{Artifact alias}.DefinitionName s ASPNET4.CI jako jeho alias ve skriptu PowerShellu, použijte $env:RELEASE_ARTIFACTS_ASPNET4_CI_DEFINITIONNAME. Původní alias ASPNET4.CI se nahradí ASPNET4_CI.
Vlastní proměnné
Vlastní proměnné můžete definovat v různých oborech.
Skupiny proměnných: Skupiny proměnných slouží ke sdílení hodnot napříč všemi definicemi v projektu. Tento přístup je užitečný, když chcete použít stejné hodnoty v rámci definic, fází a úkolů v rámci projektu a spravovat je z jednoho umístění. Definujte a spravujte skupiny proměnných v knihovně Pipelines.>
Proměnné uvolňovacího kanálu: Pomocí proměnných uvolňovacího kanálu můžete sdílet hodnoty napříč všemi fázemi v rámci celého uvolňovacího kanálu. Tento přístup je ideální pro scénáře, ve kterých potřebujete konzistentní hodnotu napříč fázemi a úkoly a schopnost ji aktualizovat z jednoho umístění. Tyto proměnné definujte a spravujte na kartě Proměnné vydávacího kanálu. Na stránce Proměnné v kanálu nastavte rozevírací seznam Rozsah na Release při přidávání proměnné. Proměnné fáze: Použijte proměnné fáze ke sdílení hodnot v rámci konkrétní fáze distribučního kanálu. Tento přístup je užitečný pro hodnoty, které se liší od fáze po fázi, ale jsou konzistentní ve všech úkolech v rámci fáze. Tyto proměnné definujte a spravujte na kartě Proměnné vydávacího kanálu. Na stránce Proměnné kanálu nastavte rozevírací seznam Rozsah na odpovídající prostředí při přidávání proměnné.
Pomocí vlastních proměnných na úrovních projektu, vydávacího potrubí a úrovně fáze můžete:
Vyhněte se duplikování hodnot, což usnadňuje aktualizaci všech výskytů jedinou změnou.
Zabezpečte citlivé hodnoty tím, že jim zabráníte v jejich zobrazení nebo úpravách uživateli. Pokud chcete proměnnou označit jako zabezpečenou (tajnou), vyberte
ikonu vedle proměnné.Důležité
Hodnoty skrytých proměnných (tajný kód) jsou bezpečně uložené na serveru a uživatelé je po uložení nemůžou zobrazit. Během nasazování azure Pipelines tyto hodnoty dešifruje, když na ně úlohy odkazují a předají je agentu přes zabezpečený kanál HTTPS.
Poznámka:
Vytváření vlastních proměnných může přepsat standardní proměnné. Pokud například definujete vlastní proměnnou cesty v agentu systému Windows, přepíše proměnnou $env:Path a může zabránit správnému spuštění PowerShellu.
Použití vlastních proměnných
Pokud chcete ve svých úkolech použít vlastní proměnné, uzavřete název proměnné do závorek a před něj znakem $ . Pokud máte například proměnnou s názvem adminUserName, vložte její aktuální hodnotu do úkolu jako $(adminUserName).
Poznámka:
Proměnné z různých skupin, které jsou propojeny s pipeline ve stejném rozsahu (například v rámci úlohy nebo fáze), mohou kolidovat a vést k nepředvídatelným výsledkům. Abyste se tomuto problému vyhnuli, ujistěte se, že proměnné ve všech skupinách proměnných mají jedinečné názvy.
Definování a úprava proměnných ve skriptu
Pokud chcete definovat nebo upravit proměnnou ze skriptu, použijte task.setvariable příkaz protokolování. Aktualizovaná hodnota proměnné je vymezena na spuštěnou úlohu a nepřechovává se napříč úlohami nebo fázemi. Všimněte si, že názvy proměnných se transformují na velká písmena, "." a " nahrazeny slovem "_".
Například z Agent.WorkFolder se stane AGENT_WORKFOLDER.
- Přistupte k této proměnné ve Windows jako
%AGENT_WORKFOLDER%nebo$env:AGENT_WORKFOLDER. - V Linuxu a macOS použijte
$AGENT_WORKFOLDER.
Tip
Skript můžete spustit na:
Skript služby Batch
Nastavit sauce a secret.Sauce proměnné
@echo ##vso[task.setvariable variable=sauce]crushed tomatoes
@echo ##vso[task.setvariable variable=secret.Sauce;issecret=true]crushed tomatoes with garlic
Přečti proměnné
Argumenty
"$(sauce)" "$(secret.Sauce)"
Skript
@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)
Výstup konzoly ze čtení proměnných:
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)
Zobrazení aktuálních hodnot všech proměnných
Vyberte Pipelines>Releases a pak vyberte kanál vydání.
Otevřete souhrnné zobrazení pro vaši verzi a vyberte fázi, kterou vás zajímá. V seznamu kroků zvolte Inicializovat úlohu.
Tento krok otevře protokoly. Posuňte se dolů, abyste viděli hodnoty, které agent používá pro tuto úlohu.
Spuštění verze v režimu ladění
Spuštění verze v režimu ladění vám může pomoct s diagnostikou a řešením problémů zobrazením dalších informací během provádění vydané verze. Režim ladění můžete zapnout pro celou verzi nebo jenom pro úlohy v konkrétní fázi vydání.
Zapněte režim ladění pro celou verzi přidáním proměnné s názvem
System.Debuga hodnotoutruena kartu Proměnné release pipeline.Pokud chcete zapnout režim ladění pro určitou fázi, otevřete dialogové okno Konfigurovat fázi z místní nabídky fáze a přidejte proměnnou s názvem
System.Debugs hodnotoutruena kartu Proměnné .Případně vytvořte skupinu proměnných obsahující proměnnou s názvem
System.Debugs hodnotoutrue, a propojte tuto skupinu proměnných s nasazovacím kanálem.
Tip
Pokud dojde k chybě související s připojeními služeb Azure Resource Manageru, další podrobnosti najdete v tématu Postupy: Řešení potíží s připojeními služeb Azure Resource Manageru .
Nastavit
Nastavit