如何在我的Powershell脚本中使用Jenkins变量

时间:2014-06-18 17:38:21

标签: powershell jenkins

我已经通过PowerShell编写了一个简单的脚本来收集一些文件并将它们压缩到一个文件夹中,我们称之为Script.ps1。我希望每次Jenkins执行新构建时都运行脚本,但我也希望zip文件的名称为BUILD_NUMBER

如何在PowerShell中创建Jenkins当前版本号的变量?截至目前,我正在调用配置的执行shell部分中的Script.ps1

3 个答案:

答案 0 :(得分:54)

我不熟悉Jenkins,但我相信BUILD_NUMBER是一个环境变量。

要在PowerShell中访问它,请使用$env:BUILD_NUMBER

E.g。如果使用7-zip

7z.exe a "$env:BUILD_NUMBER.zip" C:\Build\Path 

答案 1 :(得分:5)

您可以为Script.ps1添加参数。只需在脚本顶部使用Param

Param( $BuildNumber ) #must be first statement in script
# your current script goes here

然后你可以调用从Jenkins传递BUILD_NUMBER作为参数的脚本。有关参数调用Powershell脚本,请参阅this question

答案 2 :(得分:1)

您也可以使用Powershell插件,请参阅here

它允许您直接在Jenkins的文本框中输入PowerShell命令。

然后您可以使用可用的环境变量(请参阅插件的文档)。请注意,访问是非常神秘的(就我而言):

(Get-Content ./Sources/SlmMachineControl/GUI/Project1.rc).replace("`"FileVersion`", `"1.0.0.0`"" ,"`"FileVersion`" `"2.3.$($env:BUILD_NUMBER).0`"") | Set-Content ./Sources/SlmMachineControl/GUI/Project1.rc

另请注意双引号的转义。花了我一段时间:))