代码改变世界

jenkins windows slave 构建c/c++代码

2018-06-13 15:02  加个小鸡腿  阅读(2562)  评论(0编辑  收藏  举报

    

1.在‘系统管理’--> "Global Tool Configuration"设置msbuild 配置,如下:

其中Name可以随意写,后面在任务设置中会使用到,最后设置和版本相关的,路径为你的jenkins slave上的msbuild.exe所在的目录,我的填写:

Name: MSBuild 14.0

Path to MSBuild:C:\Program Files (x86)\MSBuild\14.0\Bin

这时你可以会问,你的jenkins master是centos的系统啊,这个路径明显就是windows的路径啊,你不是应该去jenkins 的节点管理那里设置windows 节点吗?这个时候,上面截图中的黄色的提示语就很好的告诉了我们:

C:\Program Files (x86)\MSBuild\14.0\Bin is not a directory on the Jenkins master (but perhaps it exists on some agents)

他告诉我们这个地址master上不存在,可能在某个slave 节点上。所以,相信我,这样配置msbuild是没问题的。

一种方法是:

用插件构建,构建步骤中选择“Build a Visual Studio project or solution using MSBuild” 设置对应的sln文件路径和构建参数就可以了,比如 /p:Configuration=Debug;Platform=x86

jenkins可以调用脚本实现

  此外,一般情况,除了单纯的构建,我们还需要指定分支,并切换到对应分支,构建结束后回收对应的文件到ftp上,这时你就可以用脚本实现了,脚本win_build.bat中的代码如下,供参考:

@echo off
set msbuild="C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe"
set command_part=/t:PC2:Rebuild
set sln_file=test.sln
set type=%1
set platform=%2
%msbuild% %sln_file% %command_part% /m:8 /p:Configuration=%type%;Platform=%platform%

然后在jenkins上设置bat脚本构建,构建命令为: call win_build.bat Debug  x86  

(参数Debug是构建类型,x86是平台,master是分支)