Jenkins 编译 VC6.0 项目

目前有一个 VC 6.0 的 DLL 项目,假设项目名称为 HelloWorld 。现在希望通过 jenkins 配置完成项目的自动化编译、部署等过程。

已有:Windows Server 2008 R2, VC6.0, HelloWorld 项目

首先安装 bitnami-jenkins 软件包,配置好相关的源码管理,构建触发器,构建环境,构建和构建后操作。

其中构建这一步配置花费了比较多的时间。

VC6.0 项目的构建 bat 脚本

首先搜索了通过 bat 编译 VC6.0 项目的方法,首先想到的是通过 cl.exe 来编译,但项目比较大,参数比较多的话,编译链接脚本写起来比较复杂,也有通过 VC6.0 菜单栏 > 工程 > 导出制作文件 来生成 HelloWorld.mak 文件,据说可以用 nmake 来完成编译,但实际测试下来失败了。

另一种方法是调用 msdev.exe 来编译 HelloWorld.dsp 文件,具体的 bat 命令:msdev.exe HelloWorld.dsp /MAKE "HelloWorld - Win32 Release" /REBUILD /OUT HelloWorld.lastbuild.txt

其中 /REBUILD 是指全部重建, /OUT HelloWorld.lastbuild.txt 是将命令行输出至文件 HelloWorld.lastbuild.txt

jenkins 调用 bat 脚本失败

完成上述的编译 bat 脚本后,在 cmd 内执行成功,但是配置到 jenkins 上,始终执行失败,提示找不到 msdev.exe

通过百度搜索,初步判断是在执行路径中没有找到 msdev.exe 的原因。于是我先把用户环境变量中涉及到 VC6.0 的都添加到 SYSTEM 环境变量中了,但 jenkins 仍然报同样的错误。

后来有查到另一个博客 http://blog.csdn.net/bihansheng2010/article/details/51259849 在这个链接中,提到了执行用户的问题。我的服务器不需要申请 Administrator 权限,所以也不用采用他的解决办法。

最终我是尝试勾选了“登陆”选项卡中的,本地系统账户,并勾选了“允许服务与桌面交互”,然后把 jenkins 相关的服务都重启了。

至此,jenkins 可以调用 bat 脚本完成项目的自动化编译了。

P.S. 还遇到了另一个问题,如果在 bat 脚本中切换当前目录,如果目录包含中文,可能会出现目录切换失败的问题,目前把路径中的中文去除或替换成英文来解决,主要是 utf8 和 gb2312 编码问题。如果网友们有好的解决办法,请不惜赐教。

后记

目前还只是完成了 jenkins 调用本地的脚本来编译本地的项目:在纵向上看,还没有打通不同服务器之间的编译;横向上看,没有完成编译后部署的操作。还需要更多的时间来探索。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值