首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >自定义TFS环境变量不读取$(日期)

自定义TFS环境变量不读取$(日期)
EN

Stack Overflow用户
提问于 2018-01-04 11:18:25
回答 3查看 1.7K关注 0票数 4

我想使用如下所示的自定义tfs变量:

MergedVersion:$(BuildVersion.Major).$(BuildVersion.Minor).$(Date:yy)$(DayOfYear)$(Rev:.r)

我的问题是,$(Date)$(Rev:r)$(DateOfYear)不能在BuildNumberFormat之外工作。

我的结果是:

无效版本字符串:‘1.0.$(日期:yy)$(DayOfYear)$(Rev:.R)’。

虽然使用了如下所示的buildnumberformat格式--但工作正常:

结果$(Build.BuildNumber)MyBuildName_1.0.18004.15

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-01-05 04:32:33

一些令牌仅在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)

票数 8
EN

Stack Overflow用户

发布于 2018-01-05 02:17:07

在构建定义中的PowerShell任务中使用以下脚本

代码语言:javascript
代码运行次数:0
运行
复制
$date=$(Get-Date -Format 'yy');
Write-Host "##vso[task.setvariable variable=Today]$date"

然后,您可以在后续的构建任务中使用$(今天)。但是,像$(今天:yy)这样的格式的用法是不可能的,因为它只支持版本号格式。

票数 3
EN

Stack Overflow用户

发布于 2018-12-22 00:59:44

构建在@ChamindaC和@Andy Li-MSFT的答案之上,并使用Peter Groenewegen的Xpirit 运行内联Powershell和Azure Powershell构建扩展,我能够从构建号中检索$(rev:r):

在下面的MSBuild任务中,我将其引用为$(修订)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48094110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档