Klasszikus kiadási és összetevő-változók
Azure DevOps Services | Azure DevOps Server 2020-| 2019 Azure DevOps Server | TFS 2018
Megjegyzés
A Microsoft Team Foundation Server (TFS) 2018-ban és a korábbi verziókban a buildelési és kiadási folyamatokat definícióknak, a futtatásokatbuildeknek, a szolgáltatáskapcsolatokatszolgáltatásvégpontoknak, a fázisokatkörnyezeteknek, a feladatokatpedig fázisoknak nevezzük.
A klasszikus kiadási és összetevő-változók kényelmes módot kínálnak az adatok cseréjére és átvitelére a folyamat során. Minden változó sztringként van tárolva, és értéke a folyamat futtatásai között változhat.
A változók eltérnek a futtatókörnyezeti paraméterektől , amelyek csak a sablon elemzésekor érhetők el.
Megjegyzés
Ez egy referenciacikk, amely a klasszikus kiadási és összetevő-változókat ismerteti. A YAML-folyamatok változóinak megismeréséhez tekintse meg a felhasználó által definiált változókat. Amikor kiadási folyamatból YAML-folyamatba migrál, a Release.* változók nem lesznek feltöltve.
A DevOps CI/CD-folyamatok minden szakaszában az alkalmazás üzembe helyezéséhez szükséges feladatok összeállítása során a változók a következőkben nyújtanak segítséget:
Definiáljon egyszer egy általánosabb üzembehelyezési folyamatot, majd szabja testre egyszerűen az egyes fázisokhoz. Egy változó például a webes üzembe helyezés kapcsolati sztring ábrázolására használható, és ennek a változónak az értéke egyik fázisról a másikra módosítható. Ezek egyéni változók.
Az üzembe helyezési folyamat futtatásához használt adott kiadás, fázis, összetevők vagy ügynök környezetére vonatkozó információk használata. Előfordulhat például, hogy a szkriptnek hozzá kell férnie a build helyéhez a letöltéshez, vagy az ügynök munkakönyvtárához az ideiglenes fájlok létrehozásához. Ezek alapértelmezett változók.
Tipp
Megtekintheti egy kiadás összes változójának aktuális értékeit , és egy alapértelmezett változóval futtathat egy kiadást hibakeresési módban.
Alapértelmezett változók
A végrehajtási környezettel kapcsolatos információk elérhetővé válnak a tevékenységek alapértelmezett változókon keresztüli futtatásához. A feladatok és szkriptek ezen változók segítségével információkat kereshetnek arról a rendszerről, kiadásról, fázisról vagy ügynökről, amelyben futnak. A System.Debug kivételével ezek a változók írásvédettek, és értékeiket a rendszer automatikusan beállítja. A legfontosabb változók némelyikét az alábbi táblázatok ismertetik. A teljes lista megtekintéséhez tekintse meg az összes változó aktuális értékeit.
Rendszer
| Változó neve | Description |
|---|---|
| System.TeamFoundationServerUri | A szolgáltatáskapcsolat URL-címe a TFS-ben vagy az Azure Pipelinesban. Használja ezt a szkriptekből vagy feladatokból az Azure Pipelines REST API-k meghívásához. Például: https://fabrikam.vsrm.visualstudio.com/ |
| System.TeamFoundationCollectionUri | A Team Foundation-gyűjtemény vagy az Azure Pipelines URL-címe. Használja ezt a szkriptekből vagy feladatokból, hogy REST API-kat hívjon meg más szolgáltatásokon, például a Build és a Verziókövetésen. Például: https://dev.azure.com/fabrikam/ |
| System.CollectionId | Annak a gyűjteménynek az azonosítója, amelyhez ez a build vagy kiadás tartozik. A TFS 2015-ben nem érhető el. Például: 6c6f3423-1c84-4625-995a-f7f143a1e43d |
| System.DefinitionId | Annak a kiadási folyamatnak az azonosítója, amelyhez az aktuális kiadás tartozik. A TFS 2015-ben nem érhető el. Például: 1 |
| System.TeamProject | Annak a projektnek a neve, amelyhez ez a build vagy kiadás tartozik. Például: Fabrikam |
| System.TeamProjectId | Annak a projektnek az azonosítója, amelyhez ez a build vagy kiadás tartozik. A TFS 2015-ben nem érhető el. Például: 79f5c12e-3337-4151-be41-a268d2c73344 |
| System.ArtifactsDirectory | Az a könyvtár, amelybe a kiadások telepítése során letöltődnek az összetevők. A címtár minden üzembe helyezés előtt törlődik, ha az összetevőket le kell tölteni az ügynökbe. Ugyanaz, mint az Agent.ReleaseDirectory és a System.DefaultWorkingDirectory. Például: C:\agent\_work\r1\a |
| System.DefaultWorkingDirectory | Az a könyvtár, amelybe a kiadások telepítése során letöltődnek az összetevők. A címtár minden üzembe helyezés előtt törlődik, ha az összetevőket le kell tölteni az ügynökbe. Ugyanaz, mint az Agent.ReleaseDirectory és a System.ArtifactsDirectory. Például: C:\agent\_work\r1\a |
| System.WorkFolder | Az ügynök munkakönyvtára, ahol az almappák minden buildhez vagy kiadáshoz létrejönnek. Ugyanaz, mint az Agent.RootDirectory és az Agent.WorkFolder. Például: C:\agent\_work |
| System.Debug | Ez az egyetlen rendszerváltozó , amelyet a felhasználók beállíthatnak. Állítsa igaz értékre a kiadás hibakeresési módban való futtatásához , hogy segítsen a hibakeresésben. Például: true |
Kiadás
| Változó neve | Description |
|---|---|
| Release.AttemptNumber | A kiadás üzembe helyezésének száma ebben a szakaszban. A TFS 2015-ben nem érhető el. Például: 1 |
| Release.DefinitionEnvironmentId | A fázis azonosítója a megfelelő kiadási folyamatban. A TFS 2015-ben nem érhető el. Például: 1 |
| Release.DefinitionId | Annak a kiadási folyamatnak az azonosítója, amelyhez az aktuális kiadás tartozik. A TFS 2015-ben nem érhető el. Például: 1 |
| Release.DefinitionName | Annak a kiadási folyamatnak a neve, amelyhez az aktuális kiadás tartozik. Például: fabrikam-cd |
| Release.Deployment.RequestedFor | Annak az identitásnak a megjelenítendő neve, amely aktiválta (elindította) a folyamatban lévő üzembe helyezést. A TFS 2015-ben nem érhető el. Például: Mateo Escobedo |
| Release.Deployment.RequestedForemail | Annak az identitásnak az e-mail-címe, amely aktiválta (elindította) a folyamatban lévő üzembe helyezést. A TFS 2015-ben nem érhető el. Például: mateo@fabrikam.com |
| Release.Deployment.RequestedForId | Annak az identitásnak az azonosítója, amely aktiválta (elindította) a folyamatban lévő üzembe helyezést. A TFS 2015-ben nem érhető el. Például: 2f435d07-769f-4e46-849d-10d1ab9ba6ab |
| Release.DeploymentID | Az üzembe helyezés azonosítója. Feladatonként egyedi. Például: 254 |
| Release.DeployPhaseID | Annak a fázisnak az azonosítója, amelyben az üzembe helyezés fut. Például: 127 |
| Release.EnvironmentId | A fázispéldány azonosítója egy olyan kiadásban, amelyben az üzembe helyezés jelenleg folyamatban van. Például: 276 |
| Release.EnvironmentName | Annak a szakasznak a neve, amelyben az üzembe helyezés jelenleg folyamatban van. Például: Dev |
| Release.EnvironmentUri | A fázispéldány URI-ja egy olyan kiadásban, amelyben az üzembe helyezés jelenleg folyamatban van. Például: vstfs://ReleaseManagement/Environment/276 |
| Release.Environments. {stage-name}.status | A szakasz üzembehelyezési állapota. Például: InProgress |
| Release.PrimaryArtifactSourceAlias | Az elsődleges összetevőforrás aliasa Például: fabrikam\_web |
| Release.Reason | Az üzembe helyezés oka. A támogatott értékek a következők:ContinuousIntegration – a kiadás a build befejezése után a folyamatos üzembe helyezéssel kezdődött.Manual – a kiadás manuálisan kezdődött.None – az üzembe helyezés oka nincs megadva.Scheduled - a kiadás ütemezés szerint kezdődött. |
| Release.ReleaseDescription | A kiadás időpontjában megadott szöveges leírás. Például: Critical security patch |
| Release.ReleaseId | Az aktuális kiadási rekord azonosítója. Például: 118 |
| Release.ReleaseName | Az aktuális kiadás neve. Például: Release-47 |
| Release.ReleaseUri | Az aktuális kiadás URI-ja. Például: vstfs://ReleaseManagement/Release/118 |
| Release.ReleaseWebURL | A kiadás URL-címe. Például: https://dev.azure.com/fabrikam/f3325c6c/_release?releaseId=392&_a=release-summary |
| Release.RequestedFor | A kiadást kiváltó identitás megjelenítendő neve. Például: Mateo Escobedo |
| Release.RequestedForEmail | A kiadást kiváltó identitás e-mail-címe. Például: mateo@fabrikam.com |
| Release.RequestedForId | A kiadást kiváltó identitás azonosítója. Például: 2f435d07-769f-4e46-849d-10d1ab9ba6ab |
| Release.SkipArtifactsDownload | Logikai érték, amely megadja, hogy kihagyja-e az összetevők letöltését az ügynökre. Például: FALSE |
| Release.TriggeringArtifact.Alias | A kiadást kiváltó összetevő aliasa. Ez üres, amikor a kiadást ütemezték vagy manuálisan aktiválták. Például: fabrikam\_app |
Kiadási fázis
| Változó neve | Description |
|---|---|
| Release.Environments. {stage name}. Állapot | A kiadás üzembe helyezésének állapota egy adott szakaszban. A TFS 2015-ben nem érhető el. Például: NotStarted |
Ügynök
| Változó neve | Description |
|---|---|
| Agent.Name | Az ügynöknek az ügynökkészletben regisztrált neve. Ez valószínűleg eltér a számítógép nevétől. Például: fabrikam-agent |
| Agent.MachineName | Annak a számítógépnek a neve, amelyen az ügynök konfigurálva van. Például: fabrikam-agent |
| Agent.Version | Az ügynökszoftver verziója. Például: 2.109.1 |
| Agent.JobName | A futó feladat neve, például Kiadás vagy Build. Például: Release |
| Agent.HomeDirectory | Az a mappa, ahová az ügynök telepítve van. Ez a mappa tartalmazza az ügynök kódját és erőforrásait. Például: C:\agent |
| Agent.ReleaseDirectory | Az a könyvtár, amelybe a kiadás üzembe helyezése során letöltődnek az összetevők. A címtár minden üzembe helyezés előtt törlődik, ha az összetevőket le kell tölteni az ügynökre. Ugyanaz, mint a System.ArtifactsDirectory és a System.DefaultWorkingDirectory. Például: C:\agent\_work\r1\a |
| Agent.RootDirectory | Az ügynök munkakönyvtára, ahol az almappák minden buildhez vagy kiadáshoz létrejönnek. Ugyanaz, mint az Agent.WorkFolder és a System.WorkFolder. Például: C:\agent\_work |
| Agent.WorkFolder | Az ügynök munkakönyvtára, ahol az almappák minden buildhez vagy kiadáshoz létrejönnek. Ugyanaz, mint az Agent.RootDirectory és a System.WorkFolder. Például: C:\agent\_work |
| Agent.DeploymentGroupId | Annak a központi telepítési csoportnak az azonosítója, amellyel az ügynök regisztrálva van. Ez csak az üzembehelyezési csoport feladataiban érhető el. A TFS 2018 1. frissítésében nem érhető el. Például: 1 |
Általános összetevő
Minden kiadásban hivatkozott összetevőhöz használhatja az alábbi összetevőváltozókat. Nem minden változó értelmezhető minden összetevőtípushoz. Az alábbi táblázat felsorolja az alapértelmezett összetevőváltozókat, és az összetevő típusától függően példákat tartalmaz az értékükre. Ha egy példa üres, az azt jelenti, hogy a változó nincs feltöltve az adott összetevőtípushoz.
Cserélje le a {alias} helyőrzőt az összetevő aliasához megadott értékre vagy a kiadási folyamathoz létrehozott alapértelmezett értékre.
| Változó neve | Description |
|---|---|
| Release.Artifacts. {alias}. Definícióazonosító | A buildelési folyamat vagy adattár azonosítója. Azure Pipelines-példa: 1GitHub példa: fabrikam/asp |
| Release.Artifacts. {alias}. DefinitionName | A buildelési folyamat vagy adattár neve. Azure Pipelines-példa: fabrikam-ciTFVC-példa: $/fabrikamGit-példa: fabrikamGitHub példa: fabrikam/asp (main) |
| Release.Artifacts. {alias}. BuildNumber | A buildszám vagy a véglegesítés azonosítója. Azure Pipelines-példa: 20170112.1Jenkins/TeamCity példa: 20170112.1TFVC-példa: Changeset 3Git-példa: 38629c964GitHub példa: 38629c964 |
| Release.Artifacts. {alias}. BuildId | A buildazonosító. Azure Pipelines-példa: 130Jenkins/TeamCity példa: 130GitHub példa: 38629c964d21fe405ef830b7d0220966b82c9e11 |
| Release.Artifacts. {alias}. BuildURI | A build URL-címe. Azure Pipelines-példa: vstfs://build-release/Build/130GitHub példa: https://github.com/fabrikam/asp |
| Release.Artifacts. {alias}. SourceBranch | Annak az ágnak a teljes elérési útja és neve, amelyből a forrást létrehozták. Azure Pipelines-példa: refs/heads/main |
| Release.Artifacts. {alias}. SourceBranchName | Csak annak az ágnak a neve, amelyből a forrást létrehozták. Azure Pipelines-példa: main |
| Release.Artifacts. {alias}. SourceVersion | A létrehozott véglegesítés. Azure Pipelines-példa: bc0044458ba1d9298cdc649cb5dcf013180706f7 |
| Release.Artifacts. {alias}. Repository.Provider | Az a tárháztípus, amelyből a forrást létrehozták. Azure Pipelines-példa: Git |
| Release.Artifacts. {alias}. RequestedForID | A buildet aktiváló fiók azonosítója. Azure Pipelines-példa: 2f435d07-769f-4e46-849d-10d1ab9ba6ab |
| Release.Artifacts. {alias}. RequestedFor | A buildet kérő fiók neve. Azure Pipelines-példa: Mateo Escobedo |
| Release.Artifacts. {alias}. Típus | Az összetevőforrás típusa, például Build. Azure Pipelines-példa: BuildJenkins-példa: JenkinsTeamCity-példa: TeamCityTFVC-példa: TFVCGit-példa: GitGitHub példa: GitHub |
| Release.Artifacts. {alias}. PullRequest.TargetBranch | A lekéréses kérelem céljaként megadott ág teljes elérési útja és neve. Ezt a változót csak akkor inicializálja a rendszer, ha a kiadást egy lekéréses kérelem folyamata aktiválja. Azure Pipelines-példa: refs/heads/main |
| Release.Artifacts. {alias}. PullRequest.TargetBranchName | Csak annak az ágnak a neve, amely egy lekéréses kérelem célja. Ezt a változót csak akkor inicializálja a rendszer, ha a kiadást egy lekéréses kérelem folyamata aktiválja. Azure Pipelines-példa: main |
Lásd még : Összetevő forrásának aliasa
Elsődleges összetevő
Az egyik összetevőt elsődleges összetevőként kell kijelölni egy kiadási folyamatban. A kijelölt elsődleges összetevő esetében az Azure Pipelines a következő változókat tölti ki.
| Változó neve | Ugyanaz, mint |
|---|---|
| Build.DefinitionId | Release.Artifacts. {Elsődleges összetevő aliasa}. Definícióazonosító |
| Build.DefinitionName | Release.Artifacts. {Elsődleges összetevő aliasa}. DefinitionName |
| Build.BuildNumber | Release.Artifacts. {Elsődleges összetevő aliasa}. BuildNumber |
| Build.BuildId | Release.Artifacts. {Elsődleges összetevő aliasa}. BuildId |
| Build.BuildURI | Release.Artifacts. {Elsődleges összetevő aliasa}. BuildURI |
| Build.SourceBranch | Release.Artifacts. {Elsődleges összetevő aliasa}. SourceBranch |
| Build.SourceBranchName | Release.Artifacts. {Elsődleges összetevő aliasa}. SourceBranchName |
| Build.SourceVersion | Release.Artifacts. {Elsődleges összetevő aliasa}. SourceVersion |
| Build.Repository.Provider | Release.Artifacts. {Elsődleges összetevő aliasa}. Repository.Provider |
| Build.RequestedForID | Release.Artifacts. {Elsődleges összetevő aliasa}. RequestedForID |
| Build.RequestedFor | Release.Artifacts. {Elsődleges összetevő aliasa}. RequestedFor |
| Build.Type | Release.Artifacts. {Elsődleges összetevő aliasa}. Típus |
| Build.PullRequest.TargetBranch | Release.Artifacts. {Elsődleges összetevő aliasa}. PullRequest.TargetBranch |
| Build.PullRequest.TargetBranchName | Release.Artifacts. {Elsődleges összetevő aliasa}. PullRequest.TargetBranchName |
Alapértelmezett változók használata
Az alapértelmezett változókat kétféleképpen használhatja : paraméterekként a kiadási folyamatban vagy a szkriptekben lévő tevékenységekhez.
Az alapértelmezett változók közvetlenül használhatók a tevékenységek bemeneteként.
Ha például át szeretné adni Release.Artifacts.{Artifact alias}.DefinitionName annak az összetevőforrásnak az aliasát, amelynek az aliasa ASPNET4.CI egy tevékenységnek, használja a következőt $(Release.Artifacts.ASPNET4.CI.DefinitionName): .

Ha alapértelmezett változót szeretne használni a szkriptben, először cserélje le az . alapértelmezett változóneveket a következőre _: .
Ha például ki szeretné nyomtatni annak az összetevőforrásnak az összetevőváltozóját Release.Artifacts.{Artifact alias}.DefinitionName , amelynek aliasa egy PowerShell-szkriptben ASPNET4.CI , használja a következőt $env:RELEASE_ARTIFACTS_ASPNET4_CI_DEFINITIONNAME: .

Vegye figyelembe, hogy az összetevőforrás aliasának ASPNET4.CIeredeti nevét a következő váltja ASPNET4_CIfel: .
Az összes változó aktuális értékeinek megtekintése
Nyissa meg a kiadás összegzésének folyamatnézetét, és válassza ki a kívánt szakaszt. A lépések listájában válassza a Feladat inicializálása lehetőséget.

Ezzel megnyitja a lépéshez tartozó naplót. Görgessen le az ügynök által a feladathoz használt értékek megtekintéséhez.

Kiadás futtatása hibakeresési módban
További információk megjelenítése a kiadás végrehajtásakor és a naplófájlokban a teljes kiadás vagy csak az egyes kiadási fázisban lévő feladatok hibakeresési módban való futtatásával. Ez segíthet a problémák és hibák megoldásában.
Egy teljes kiadás hibakeresési módjának elindításához adjon hozzá egy, az értékkel
trueelnevezettSystem.Debugváltozót egy kiadási folyamat Változók lapjára.Ha egyetlen fázis hibakeresési módját szeretné elindítani, nyissa meg a Szakasz konfigurálása párbeszédpanelt a szakasz helyi menüjéből, és adjon hozzá egy, az értékkel
trueelnevezettSystem.Debugváltozót a Változók laphoz.Másik lehetőségként hozzon létre egy változócsoportot, amely egy értékkel
trueelnevezettSystem.Debugváltozót tartalmaz, és kapcsolja ezt a változócsoportot egy kiadási folyamathoz.
Tipp
Ha azure RM-szolgáltatáskapcsolattal kapcsolatos hibaüzenetet kap, tekintse meg az Azure Resource Manager szolgáltatáskapcsolatok hibaelhárítását ismertető témakört.
Egyéni változók
Az egyéni változók különböző hatókörökben határozhatók meg.
Változócsoportok használatával megoszthatja az értékeket a projekt összes definíciójában. Akkor válasszon változócsoportot, ha ugyanazokat az értékeket kell használnia a projekt összes definíciójában, szakaszában és tevékenységében, és az értékeket egyetlen helyen szeretné módosítani. A változócsoportokat a Tár lapon határozhatja meg és kezelheti.
A kiadási folyamat változóinak használatával megoszthatja az értékeket az összes fázisban. Akkor válasszon egy kiadási folyamat változót, ha ugyanazt az értéket kell használnia a kiadási folyamat összes szakaszában és feladatában, és az értéket egyetlen helyen szeretné módosítani. Ezeket a változókat egy kiadási folyamat Változók lapján határozhatja meg és kezelheti. A Folyamatváltozók lapon nyissa meg a Hatókör legördülő listát, és válassza a "Kiadás" lehetőséget. Alapértelmezés szerint egy változó hozzáadásakor a kiadás hatóköre van megadva.
Szakaszváltozók használatával megoszthatja az értékeket az összes tevékenység között egy adott szakaszban. Szakaszszintű változót használjon az olyan értékekhez, amelyek szakaszonként változnak (és megegyeznek a fázis összes tevékenységéhez). Ezeket a változókat a kiadási folyamat Változók lapján határozhatja meg és kezelheti. A Folyamatváltozók lapon nyissa meg a Hatókör legördülő listát, és válassza ki a szükséges szakaszt. Változó hozzáadásakor állítsa a hatókört a megfelelő környezetre.
Ha egyéni változókat használ a projektben, a kiadási folyamatban és a fázishatókörben, a következőkhöz nyújt segítséget:
Kerülje az értékek duplikálását, így egyszerűbben frissítheti az összes előfordulást egyetlen műveletként.
A bizalmas értékeket oly módon tárolja, hogy a kiadási folyamatok felhasználói ne láthassanak vagy módosíthassanak. Jelöljön ki egy konfigurációs tulajdonságot biztonságos (titkos) változóként a
változó melletti (lakat) ikonra kattintva.Fontos
A rejtett (titkos) változók értékei biztonságosan vannak tárolva a kiszolgálón, és a mentés után a felhasználók nem tekinthetik meg őket. Az üzembe helyezés során az Azure Pipelines kiadási szolgáltatás visszafejti ezeket az értékeket, amikor a feladatok hivatkoznak rájuk, és egy biztonságos HTTPS-csatornán keresztül továbbítja azokat az ügynöknek.
Megjegyzés
Az egyéni változók létrehozása felülírhatja a standard változókat. Például a PowerShell Elérési út környezeti változója. Ha egyéni Path változót hoz létre egy Windows ügynökön, az felülírja a $env:Path változót, és a PowerShell nem fog tudni futni.
Egyéni változók használata
Ha egyéni változókat szeretne használni a buildelési és kiadási feladatokban, egyszerűen foglalja zárójelbe a változó nevét, és írjon elé egy karaktert $ . Ha például egy adminUserName nevű változóval rendelkezik, a változó aktuális értékét beszúrhatja egy tevékenység $(adminUserName)paraméterébe.
Megjegyzés
Az ugyanabban a hatókörben lévő folyamathoz (például feladathoz vagy fázishoz) kapcsolt különböző csoportok változói ütköznek, és az eredmény kiszámíthatatlan lehet. Győződjön meg arról, hogy az összes változócsoportban különböző neveket használ a változókhoz.
Változók definiálása és módosítása szkriptben
Egy szkript változójának definiálásához vagy módosításához használja a naplózási task.setvariable parancsot.
Vegye figyelembe, hogy a frissített változó értéke a végrehajtandó feladat hatókörére van korlátozva, és nem halad át a feladatokon vagy szakaszokon.
A változónevek nagybetűssé alakulnak, a "." és a " karaktereket pedig a "_" karakter váltja fel.
Ez lehet például Agent.WorkFolder a következő: AGENT_WORKFOLDER.
A Windows a következőképpen érheti el: %AGENT_WORKFOLDER% vagy $env:AGENT_WORKFOLDER.
Linux és macOS rendszeren a .$AGENT_WORKFOLDER
Tipp
Szkriptet futtathat a következőn:
- Windows ügynökötBatch- vagy PowerShell-szkriptfeladatot használ.
- macOS - vagy Linux-ügynökrendszerhéj-szkriptfeladattal.
Batch-szkript
A változók és secret.Sauce a sauce változók beállítása
@echo ##vso[task.setvariable variable=sauce]crushed tomatoes
@echo ##vso[task.setvariable variable=secret.Sauce;issecret=true]crushed tomatoes with garlic
A változók olvasása
Argumentumok
"$(sauce)" "$(secret.Sauce)"
Script
@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)
Konzolkimenet a változók olvasásából:
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)
A változók és
A változók és