自定义 TFS 环境变量不读取 $(Date)

Pet*_*ter 3 tfs environment-variables

我想使用这样的自定义 tfs 变量:

合并版本: $(BuildVersion.Major).$(BuildVersion.Minor).$(Date:yy)$(DayOfYear)$(Rev:.r)

我的问题是$(Date)$(Rev:r)$(DateOfYear)没有在BuildNumberFormat的设置以外的工作。

我的结果是:

无效的版本字符串:'1.0.$(Date:yy)$(DayOfYear)$(Rev:.r)'。

使用此处显示的 buildnumberformat 时 - 正常工作:

在此处输入图片说明

结果$(Build.BuildNumber)MyBuildName_1.0.18004.15

And*_*SFT 7

一些令牌仅适用于Build number format部分,比如$(Date)$(Rev:r)$(DateOfYear)你略。请参阅构建定义选项

作为一种解决方法,要使用,$(Rev:r)您可以将内部版本号格式设置为$(Rev:r),然后$(Build.BuildNumber)在您的任务中使用该变量。

要使用$(Date:yy)$(DayOfYear),您可以通过 PowerShell 任务设置变量,如上面提到的 ChamindaC。

  1. 在您的构建定义中添加一个 PowserShell 任务
  2. 复制并粘贴下面的脚本并将其另存为*.ps1文件
  3. 签入 PS 文件,然后在 PowerShell 任务中运行 PS 文件

    $time=$(Get-Date -Format 'yy') # you can set the date format based on your requirement $doy = (Get-Date).DayofYear Write-Host "##vso[task.setvariable variable=Date]$time" Write-Host "##vso[task.setvariable variable=DayOfYear]$doy"

然后你可以使用的变量$(Date)$(DayOfYear)其它构建任务。

在此处输入图片说明