我正在尝试配置Squirrel与Jenkins一起工作..我有一个简单的项目(仅为测试而创建),只显示内部版本号。
我将jenkins设为
如何判断它必须采用assembly.cs中的版本?以及如何将该信息传递给squirrel命令?
由于
答案 0 :(得分:0)
我没有使用Jenkins的经验,但这是我在后期构建脚本中所做的。该版本通过@(VersionNumber)
参数传递给PowerShell脚本,该脚本修改.nuspec
文件。我会假设您在调用Execute Windows Batch Command
函数以释放应用程序之前可能需要做类似的事情。
Visual Studio构建后事件命令行
if $(ConfigurationName) ==Release "C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy RemoteSigned -file "$(ProjectDir)\"PostBuild.ps1 "$(ProjectDir) " @(VersionNumber)
PostBuild.ps1
param (
[string]$ProjectDir,
[string]$Revision
)
#write new version to nuspec
$nuspec_file_name = "Package.nuspec"
$nuspec_file_path = "$ProjectDir$nuspec_file_name"
Write-Host "nuspec file: $nuspec_file_path"
[xml]$nuspec_xml = Get-Content($nuspec_file_path)
$nuspec_xml.package.metadata.version = $Revision
$nuspec_xml.Save($nuspec_file_path)