2017-06-22 2 views
0

In den Release-Definitionsvariablen können Sie einen String definieren und ihn zu einem secureString machen, indem Sie ihn über das Vorhängeschloss als geheim markieren und dann in den Skriptargumenten convert-tosecurestring verwenden.Wie Übergeben eines SecureObject in einer Releasedefinitionsvariable?

Aber was ist die Syntax zum Definieren eines Objekts und eines SecureObject? In der Dokumentation scheint es keine Erwähnung zu geben.

enter image description here

Antwort

1

Objekt oder secureObject nicht in VSTS Aufbau/Freigabe variable unterstützt.

Sie können die sichere Variable direkt in der Build/Release-Aufgabe verwenden (die Variable wird entschlüsselt), so dass Sie nur dem Objekt gemäß Ihrer Anforderung in der Build/Release-Aufgabe (z. B. PowerShell) klarmachen müssen.

Ein einfaches Beispiel zum Speichern einer JSON-Zeichenfolge, um die Variable zu sichern, anschließend in ein JSON-Objekt konvertieren und ändern.

  1. hinzufügen sichere Variable in Build-Definition (obj: '{"name": "mynodeDefinition"}')
  2. hinzufügen Powershell Aufgabendefinition (Argumente zu bauen: -pass $ (obj);

Script:

param(
[string]$pass) 
$bodyContent=$pass| ConvertFrom-Json 
Write-Host $bodyContent 
$bodyContent.Name="NewValue" 
Write-Host $bodyContent 

Ergebnis:

enter image description here

+0

Danke, gut zu wissen, dass es nicht unterstützt wird, es wird mir ersparen, meine Haare auszuziehen, verschiedene Kombinationen auszuprobieren. JSON scheint eine vernünftige Arbeit zu sein. Sollte '[string] $ pass' '' [securestring] $ pass' sein? –

+0

@AlexKeySmith Verwendung von [string] $ pass. –

Verwandte Themen