現在の日時を取得して、それを変数としていくつかの展開タスクに渡すにはどうすればよいですか?
任意の値で変数を定義し、変数を現在の日付として変更できます。以下の詳細手順:
変数名がtime
であると仮定し、値をnone
として設定します。環境に変数を使用する必要がある場合は、環境変数で定義できます。それ以外の場合は、変数タブで定義する必要があります。
タイプ:インラインスクリプト。
インラインスクリプト:
_$date=$(Get-Date -Format g);
Write-Host "##vso[task.setvariable variable=time]$date"
_
MM/DD/YYYY HH:MM AM/PM
_として使用します。他の 日付形式 を使用できます。$(time)
を直接使用できます。現在、「Release.Deployment.StartTime」というリリースステージに固有の変数があります。Powershellで使用する場合、環境変数は「Release_Deployment_StartTime」です。
UTCで、形式は「yyyy-MM-dd HH:mm:ssZ」です
ex: "2018-11-09 21:23:27Z"
注:この変数は、展開ステージがstartedのときに設定されるため、展開前の承認がある場合は、承認が完了する前に時間が設定されます。私のテストでは、エージェントの可用性が限られているために1つのステージが他のステージを待機している場合でも、同時に実行される複数のステージがある場合は同じになります。
Azure DevOpsをオンラインで使用していますが、ローカルTFSインストールにこれが含まれるかどうかはわかりません。
より簡単な方法は
$(Date:MMddyy)
一部のオプションは、ビルド定義オプションセクションでのみ使用できます。日付のフォーマットはそれらの1つです。ただし、オプションセクションに移動する場合、ビルド番号の形式を$(Date:yyyyMMdd-HHmmss)に設定すると、タスクで$(Build.BuildNumber)変数を使用できます。
詳細はこちら- https://docs.Microsoft.com/en-us/vsts/build-release/concepts/definitions/build/variables?tabs=batch
TfsでLinuxを使用する場合:
「キュー時間で設定可能」が設定されていることを確認してください
set-build.date.sh:
#!/usr/bin/env bash
DATE=$(date '+%d/%m/%Y %H:%M:%S')
echo "##vso[task.setvariable variable=BUILD_DATE;]$DATE"
その他のオプションは here にリストされています。
Bashと入力して、このタスクを見つけます。
完了、後のタスクでBUILD_DATE
変数を使用できます:)