VSO(TFS) - Holen Sie sich die aktuellen Datum-Zeit als variable
Wie bekomme ich das aktuelle Datum-Zeit und übergeben Sie es als eine variable, um einige Aufgabe?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie bekomme ich das aktuelle Datum-Zeit und übergeben Sie es als eine variable, um einige Aufgabe?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie definieren eine variable mit einem Wert, und ändern Sie die Variablen wie das aktuelle Datum ein. Detail Schritte wie folgt:
Definieren Sie eine variable in der release -
Angenommen, der Variablen-name ist
time
, und setzen wir den Wert alsnone
. Wenn Sie müssen, verwenden Sie die variable für eine Umgebung, Sie können es definieren, die in Umgebungsvariablen. Sonst definieren Sie ihn in der Registerkarte "Variablen".Fügen Sie eine power-shell Vorgang bei Beginn der Bereitstellung Aufgaben:
Typ: Inline-Skript.
Inline script:
Hinweis:
MM/DD/YYYY HH:MM AM/PM
hier. Sie können andere Datum-Formate.$(time)
.-version $(Build.SourceVersion)
als parameter. Mein script ist:Param( [string]$version ) Write-Host "##vso[task.setvariable variable=SourceControlVersion]$version"
ich bin nicht sehr bewandert in der powershell, alle Hilfe ist willkommen.$date=Get-Date -Format g
Auch, ein mögliches Problem mit diesem ist, dass, wenn Sie bereitstellen, um eine phase, die mehrere Maschinen, dann der timestamp könnte möglicherweise durch eine oder zwei Sekunden seit dem NOBLEN Skript wird für jede Maschine separat. Würde nicht funktionieren, wenn die benötigte Zeit, um genau zu sein das gleiche zwischen allen Computern in einen deployment-phase.Gibt es jetzt eine variable zu einer bestimmten release-Phase mit dem Namen "Release.- Bereitstellung.StartTime" oder, wenn Sie es in powershell die Umgebungsvariable "Release_Deployment_StartTime".
Es ist in UTC-Zeit und das format ist "JJJJ-MM-dd HH:mm:ssZ"
ex: "2018-11-09 21:23:27Z"
HINWEIS: Diese variable ist zum Zeitpunkt der deployment-Phase ist begann, so, wenn Sie pre-deployment-Zulassungen wird die Zeit eingestellt werden, bevor alle Genehmigungen abgeschlossen sind. Von meinen Tests, wenn Sie mehrere Phasen, die gleichzeitig ausgeführt werden, es werden die gleichen zwischen Ihnen, selbst wenn eine Bühne wartet, bis der andere aufgrund der begrenzten agent-Verfügbarkeit.
Ich bin mit Azure DevOps online-unsicher, wenn die lokale TFS-Installationen haben dieses.
Für diejenigen, die mit Linux auf tfs:
Definieren variable
Stellen Sie sicher, es hat "Einstellbar auf Wartezeit einstellen"
Erstellen Sie ein Skript im Wurzelverzeichnis Ihres repository
set-build.date.sh:
Andere Optionen sind aufgeführt hier.
Add-shell-Skript direkt nach Quellen
Typ bash zu finden, dieser Aufgabe stellen.
Getan, können Sie
BUILD_DATE
variable in späteren Aufgaben 🙂Ein einfacher Weg ist
$(Date:MMddyy)
Einige Optionen sind nur in der Build-Definition-Optionen". Die Formatierung des Datums ist einer von Ihnen. Allerdings, wenn Sie gehen in den Abschnitt "Optionen", legen Sie die build-Nummer format $(Datum:JJJJMMTT-HHmmss), dann könnten Sie nutzen die $(Build.BuildNumber -) variable in Ihre Aufgaben.
Mehr info hier - https://docs.microsoft.com/en-us/vsts/build-release/concepts/definitions/build/variables?tabs=batch