VS编译命令
一、前言
由于公司要求项目需要走CI构建平台,抛弃掉之前的人工编译打包方式,所以需要调研一下项目怎么通过命令行编译出产物。
二、准备工作
- 在构建机器上安装vs(本文示例为vs2017)
- 将代码上传版本控制仓库(本文示例为Gitlab),并确保构建机器可以正常访问并下载源代码
- 确保构建机器可以正常编译目标项目,最快捷的方案就是在构建机器上跑一下
- 修改项目的编译配置及平台,例如我设置了Release+CI作为CI构建用的配置,并把输出路径改为了
..\CIResult\
三、编写构建命令
- 找到vs的安装路径,找到devenv.exe,例如
D:\VS2017\Common7\IDE\devenv.exe
- 明确自己需要编译的解决方案的名称,例如:
ABC.sln
- 明确自己需要使用的编译设置,例如前文设置好的:
Release
+CI
- 编写编译命令,例如:
"D:\VS2017\Common7\IDE\devenv.exe" devenv "ABC.sln" /rebuild "Release|CI" /out courtClient.log
- 执行命令,就可以到
..\CIResult\
去获取产物了,如果嫌弃文件夹麻烦,可以在编译完成后再加一句命令WinRAR a -r ABC.zip CIResult\*
来打个压缩包。
四、注意事项
- 如果项目中使用了nuget管理引用的组件,建议把packages文件夹加入源代码仓库中,因为我不知道怎么让vs在编译前自动下载包并还原,只能用这个笨方法了。附上git的文件包含脚本,打开.gitignore文件加上一行
!/packages/*
- 编译的错误日志打在了courtClient.log文件里
五、结束
自己摸索的,也踩了些坑最后总结出的方法,可能不是很合理,希望大佬们如果有更好的方法可以批评指正。
我不会,但可以学。