代码如下(示例): 下面这个bat文件没有测试过,网上抄作业抄的
代码语言:javascript复制//添加头文件和库
@echo off
set Msbuild=C:Program Files (x86)Microsoft Visual Studio 10.0VCbinMSBuild.exe
set ObjCurrent=D:API开发环境 2ARXDBGplusArxDbg.verproj
set arxpath =D:API开发环境ARXDBG2008ReleaseArxComLibWin32ArxComLib.arx
set Arrpath32=D:workhui zuhaoDwgl ainCommonLibArx
Set Arrpath64=D:workhuizuhaoDwg[ainCommonLibAry05mLibArxComLibx64ArxConLib.arx
setlocal enabledelayedexpansion
for /l %%i in (0,1,0) do (
echo !ObjCurrent%%i!
del %ArxPath32%
%Msbuild% !ObjCurrent%%i!/t:build /p:Configuration-Release /p:Platform=Win32 /p:PlatformToolset=v80 /p:PrecompiledHeader=NotUsing /n
if not exist %ArxPath32%
(%Msbuild% !ObjCurrent%%i! /t:build /p:Configuration=Release /p:Platform=Win32 /p:PlatformToolset=v80 /p:PrecompiledHeader=NotUsing /n
if not exist %ArxPath32%
(%Msbuild% !ObjCurrent%%i! /t:clean
%Msbuild% !%ObjCurrent%%i% /t:rebuild/ p:Configuration=Release /p:Platform=Win32 /p:PlatformToolset=v80 /p:PrecompiledHeader=NotUsing /n)
if not exlst %ArxPath32%
(echo v80
Pause)
)
del %ArxPath32%
%Msbuild% !ObjCurrent%%i!/t:build /p:Configuration-Release /p:Platform=Win32 /p:PlatformToolset=v90 /p:PrecompiledHeader=NotUsing /n
if not exist %ArxPath32%
(%Msbuild% !ObjCurrent%%i! /t:build /p:Configuration=Release /p:Platform=Win32 /p:PlatformToolset=v90 /p:PrecompiledHeader=NotUsing /n
if not exist %ArxPath32%
(%Msbuild% !ObjCurrent%%i! /t:clean
%Msbuild% !%ObjCurrent%%i% /t:rebuild/ p:Configuration=Release /p:Platform=Win32 /p:PlatformToolset=v90 /p:PrecompiledHeader=NotUsing /n)
if not exlst %ArxPath32%
(echo v90
Pause)
)
del %ArxPath64%
%Msbuild% !ObjCurrent%%i!/t:build /p:Configuration-Release /p:Platform=x64 /p:PlatformToolset=v90 /p:PrecompiledHeader=NotUsing /n
if not exist %ArxPath32%
(%Msbuild% !ObjCurrent%%i! /t:build /p:Configuration=Release /p:Platform=x64 /p:PlatformToolset=v90 /p:PrecompiledHeader=NotUsing /n
if not exist %ArxPath32%
(%Msbuild% !ObjCurrent%%i! /t:clean
%Msbuild% !%ObjCurrent%%i% /t:rebuild/ p:Configuration=Release /p:Platform=x64 /p:PlatformToolset=v90 /p:PrecompiledHeader=NotUsing /n)
if not exlst %ArxPath32%
(echo v90
Pause)
)
)
看过前面的Jenkins Github环境的配置相信大家已经对Jenkins有了一定的熟练程度,也大概知道怎么对vs项目进行自动化编译,这篇博文主要是对一些细节进行补充,后面主要就是Jenkins插件的使用和脚本的问题了,比如Ant的XML脚本,VS项目的批处理脚本,给大家建议是尽量要用脚本来控制构建的过程,在Jenkins里面敲大量的命令行不是好的方法。 我的版本管理基本上都是在GitHub上进行的,所以如果你还没有一个github的账号就赶紧去申请一个吧!有了账号首先要做的就是在要学会使用github,基本的使用方法网上有很多教程,wiki上肯定是有的,github给新手很多好的指导,现在你要新建一个repository
代码语言:javascript复制然后使用git上传你的vs项目,下面就按照上一篇博文里讲的那样配置一下Jenkins的环境就可以了。
点击“立即构建”,Jenkins就自动从Github上clone你的vs项目到你本地的Jenkins的目录的workspace下,所以你的命令行要对这个目录进行操作。
vs项目的构建是比较简单的,你只需要在目录下进行你需要的命令行操作
MSVC提供了很多的命令行构建工具,除了devenv.com,还有msbuild,PSExec,MSTest等,可以根据自己的需要去网上查阅,Jenkins一般都有相应的插件支持,比如Jenkins MSBuild plugin, Jenkins MSTest plugin这两个插件,能够帮助你完成vs项目的持续集成。大部分的目录最好写成环境变量以便于用脚本进行操作。
在windows的批处理环境下,Jenkins判断项目构建的成功与否是根据ERRORLEVEL是否为0,非0则构建失败,你可以通过对ERRORLEVEL的控制,对构建结果进行控制。下面是我的vs项目构建的脚本,是用批处理写的,希望对大家有一定的参考意义。
代码语言:javascript复制set qtpproj=�%
cd ........
"%VS100COMNTOOLS%..IDEdevenv.com" "�%cocos2d-win32.vc2010.sln" /Build "Debug|Win32"
set CC_TEST_BIN=TestCpp.exe
set CC_TEST_RES=�%samplesTestCppResources*.*
set CC_HELLOWORLD_RES=�%samplesHelloCppResources*.*
set CC_HELLOLUA_RES=�%samplesHelloLuaResources*.*
set CC_TESTJS_RES=�%samplesTestJavascriptResources*.*
cd Debug.win32
xcopy /E /Y /Q "�_TEST_RES%" .
xcopy /E /Y /Q "�_HELLOWORLD_RES%" .
xcopy /E /Y /Q "�_HELLOLUA_RES%" .
xcopy /E /Y /Q "�_TESTJS_RES%" .
cd ..
cd %qtpproj%qtp_win32
cscript qtrunner.vbs
pause
代码语言:javascript复制今天就讲到这里吧,后面考虑到Jenkins配置的细节比较烦琐,会写一篇关于Jenkins配置细节的文章,希望能帮助大家快速解决可能会遇到的小问题
代码语言:javascript复制//数据
测试代码
代码语言:javascript复制//如果使用当前数据库,一定要保存文件否则会出错,
//当前数据库有自动保存操作,即使不操作,如果不保存,也会出错。
总结
提示:这里对文章进行总结: 例如:以上就是今天要讲的内容,本文仅仅简单介绍了的函数和方法。