【发布时间】:2017-09-15 21:25:06
【问题描述】:
我正在尝试使用 Jenkins 上的 PowerShell 插件来构建我的蛋糕脚本。我想将 $env:BUILD_NUMBER 解析到 Cake 脚本中——这在 Windows 上的 PowerShell 窗口中运行良好:
.\build.ps1 -buildNumber=123
但是当在 Jenkins 的 PowerShell 插件中使用“相同的”(解析 123 时正常) - 它失败了。它不会将 $env:BUILD_NUMBER 的值解析为 Cake。我正在使用这个:
$bn = $env:BUILD_NUMBER;
cd D:\_Builds\Al.Common.Std.Interface\SolutionItems\
write-host $bn //Just at test writing 123 OK
.\build.ps1 -buildNumber=$bn
在蛋糕脚本中,我使用$bn-value 作为 NuGet 版本号。但我收到以下错误:
C:\Program Files\dotnet\sdk\2.0.0\NuGet.targets(102,5): error : '1.0.0.$bn' is not a valid version string.
欢迎提出任何想法
【问题讨论】:
-
用等号指定参数对我不起作用。如果您将脚本更新为使用
.\build.ps1 -buildNumber $bn,是否会出现此问题? -
Cake 似乎不喜欢这样 - 获取:正在运行构建脚本...指定了多个构建脚本。
-
听起来内部版本号现在正在正确传递。如果您可以发布
.\build.ps1的内容,我们或许可以为您提供进一步的帮助。 -
使用 --(2 个减号)解决问题,例如:.\build.ps1 --buildNumber=$bn。该死的花了我好几天。你把我引向了那个方向——谢谢你的时间。
标签: c# powershell jenkins plugins cakebuild