uri*_*rig 11 msbuild jenkins jenkins-pipeline
我在Windows上安装了MSBuild插件 v1.27的Jenkins v2.60.3 .
我已经msbuild.exe在Jenkins的全局工具配置中配置了我的路径.我还在Jenkins中设置了一个Multi Branch Pipeline,Jenkinsfile成功地从git repo 中获取了一个.
我的问题是:如何调用MSBuild插件作为我的一步Jenkinsfile?
请注意我知道我可以msbuild.exe直接调用Windows批处理步骤,但如果可能的话,我更喜欢通过MSBuild插件.`
我们的团队需要迁移在 UI 中创建的大量自由式 MSBuild 作业。mjd 的回答很有帮助,但仍然让我摸不着头脑。这些例子根本不起作用......直到我弄清楚其中的脱节。
这是秘密酱汁:
您必须使用 “bat”和“tool”命令直接调用“命名的msbuild配置”。
进入使用 MSBuild 插件的自由式作业之一的配置
向下滚动到 msbuild 部分,然后单击“MSBuild Version”下拉列表,记下列出的确切名称。这是您的“命名的 msbuild 配置”。选择您将在下一步中使用的名称。

打开 jenkinsfile,找到要调用 msbuild 的阶段和步骤,然后添加此行并将“ MSBuild 15.0 ”替换为您在步骤 2 中选择的名称:
bat ""${tool 'MSBuild 15.0'}\\msbuild" SolutionName.sln /p:Configuration=Release /p:Platform="Any CPU" /p:ProductVersion=1.0.0.${env.BUILD_NUMBER}"
像这样...
(对于声明式管道,您需要将其放在“脚本”块内。如果您不知道“声明式管道”是什么,它是 Jenkins 中使用“groovy”编写管道脚本的两种风格之一“语言。有关更多信息,请参阅脚本式与声明式样式的比较。)
(我通常使用“重播”按钮,它允许我在 Jenkins 中在线编辑脚本,而不是编辑、提交和推送到远程存储库……它只是节省了一些调试时间。)
workspace\Pipeline_Test>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\msbuild" SolutionName.sln /p:Configuration=Release /p:Platform="Any CPU" /p :ProductVersion=1.0.0.308 适用于 .NET Framework 的 Microsoft (R) Build Engine 版本 15.9.21+g9802d43bc3 版权所有 (C) Microsoft Corporation。版权所有。
| 归档时间: |
|
| 查看次数: |
10422 次 |
| 最近记录: |