我们正在使用TFS构建,当我在TFS构建中构建项目时,它还会创建一个安装文件。
例如,我的应用程序版本是V1.2.3(来自assembly.cs),安装文件的位置是C:\ myproject \ setup \ setup.exe
我想将此设置exe复制到以下文件夹
C:\ products \ producta \ V1.2.3
所以我只需要获取版本号来创建一个名为" V1.2.3"的文件夹。对于复制和爬行,我可以制作批处理文件,但我不知道如何获得版本号。 TFS有一些变量,例如Build.SourceVersion 但这些变量并没有给我产品的版本号。
我怎么做这件事?
答案 0 :(得分:1)
你必须编写一个脚本来执行此操作。
1)Powershell脚本从assemblyInfo.cs读取内部版本号
$myAssemblyVersion = major.minor.patch -> Read from assembyInfo.cs
$versionWithBuildId = '{0}.{1}' -f $myAssemblyVersion, $Env:BUILD_BUILDID
2)从当前版本
更新TFS内部版本号Write-Verbose -verbose "##vso[build.updatebuildnumber]$versionWithBuildId"
之后你可以使用"复制文件"或者"发布神器"步。
使用"复制文件"
Target Folder = "C:\products\producta\$(Build.BuildNumber)"
使用"发布工件"
Artifact Name = "$(Build.BuildNumber)"
Path = "C:\products\producta"