如何获取 Azure Pipeline YAML 文件中的当前日期以使用变量?

问题描述 投票:0回答:2

我正在尝试将有用的版本号注入到我正在使用 Azure DevOps 管道构建和部署的 ASP Core 应用程序中。

- script: dotnet publish -c $(buildConfiguration) -p:Version=2022.06.21 -p:SourceRevisionId=$(Build.SourceVersion)

但是我一生都无法弄清楚如何将日期放入我可以实际使用的变量中。这确实非常引人注目,因为当前日期(附加了一些其他内容)是 DevOps 本身使用的默认构建号。

文档非常糟糕。我该怎么做?

azure-devops azure-pipelines azure-pipelines-yaml
2个回答
22
投票

使用

format
表达式,您可以将
pipeline.startTime
转换为格式化日期。根据您的情况,定义变量如下:

variables:
  currentDate: $[ format('{0:yyyy}.{0:MM}.{0:dd}', pipeline.startTime) ]

然后使用如下变量:

- script: dotnet publish -c $(buildConfiguration) -p:Version=$(currentDate) -p:SourceRevisionId=$(Build.SourceVersion)

0
投票

也可以使用下面的YAML代码来解决:

- name: CurrentDateTime
  value: $(Get-Date -Format yyyy-MM-dd_HHmmss)

然后可以通过宏语法使用它,如

$(CurrentDateTime)

请参阅此开发者社区帖子:https://developercommunity.visualstudio.com/t/how-to-get-formatted-date-into-variable-in-a-azure/824760

© www.soinside.com 2019 - 2024. All rights reserved.