我想使用这样的自定义 tfs 变量:
合并版本:$(BuildVersion.Major).$(BuildVersion.Minor).$(Date:yy)$(DayOfYear)$(Rev:.r)
我的问题是 $(Date)
, $(Rev:r)
和 $(DateOfYear)
不要在 BuildNumberFormat-Settings 之外工作。
我的结果是:
invalid version string: '1.0.$(Date:yy)$(DayOfYear)$(Rev:.r)'.
使用此处显示的 buildnumberformat 时 - 正常工作:
结果
$(Build.BuildNumber)
是 MyBuildName_1.0.18004.15
最佳答案
某些代币仅在 Build number format
中可用部分,例如 $(Date)
, $(Rev:r)
和 $(DateOfYear)
你在这里提到。见 Build definition options
作为解决方法,使用 $(Rev:r)
您可以将内部版本号格式设置为 $(Rev:r)
,然后使用 $(Build.BuildNumber)
任务中的变量。
使用 $(Date:yy)$(DayOfYear)
,您可以通过 PowerShell 任务设置变量,如上面提到的 ChamindaC。
*.ps1
文件 $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)
在其他构建任务中。关于tfs - 自定义 TFS 环境变量不读取 $(Date),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48094110/