使用jenkins 在使用编译vc++的一个项目,在执行批处理脚本的时候总是失败,
但是在控制台无论是管理员还是普通用户都能正常编译,jenkins每次都失败,看日志就是调用一个cmd命令直接失败,exit code是1 .
方案一:参考了csdn的一篇博客(下面有链接),才知道可能是权限的问题,用非system用户登录就可以正常编译。
方法很简单。就是登录 Jenkins service。
具体过程:
在"运行"中输入"services.msc"打开服务窗口,找到"Jenkins".
然后右键属性,在“登录”导航中选择“此用户”任何输入能够运行CMD.exe的用户。这里我用了管理员用户。
重启服务就能正常编译了。
方案二:用msbuild
---------------------------------
另外需要注意一点小问题
一、Execute windows batch command 下面写批处理命令 cmd /c "%WORKSPACE%\builder\build.cmd" ,
这里需要注意需要加双引号 ,因为装的jenkins是32位版本 jenkins全路径有一个空格,对应的sln工程也需要注意这个。
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" "C:\Program Files (x86)\Jenkins\workspace\xx\xx