如何获取当前日期时间并将其作为变量传递给某些部署任务?
最佳答案
您可以定义一个具有任意值的变量,然后将该变量修改为当前日期。详细步骤如下:
在release中定义变量
假设变量名为time
,我们将值设置为none
。如果需要在环境中使用该变量,可以在环境变量中定义它。否则你应该在变量选项卡中定义它。
在部署任务开始时添加 Power shell 任务:
类型:内联脚本。
内联脚本:
$date=$(Get-Date -Format g);
Write-Host "##vso[task.setvariable variable=time]$date"
注意:
- 我在这里使用的日期格式为
MM/DD/YYYY HH:MM AM/PM
。您可以使用其他date formats . - 对于后续的部署任务,如果您想使用当前日期时间,可以直接使用
$(time)
。
更新
Defining Variables: Set Variables Using Expressions 的文档在创建每天重置的计数器值的示例中,有一个金 block 可以回答这个问题。
a: $[counter(format('{0:yyyyMMdd}', pipeline.startTime), 100)]
这里使用的pipeline.startTime
变量很微妙,在Pipeline Predefined Variables中没有提到。文档,即使根据正在使用的管道方法小心地找到正确的文档也是如此。按照建议HERE在该线程的一些答案中,某些变量可能具有不同的值或根本不存在,具体取决于您在尝试访问它们时所处的位置。
关于deployment - VSO(TFS) - 获取当前日期时间作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44738944/