最近在一个项目中用了Everyday building 觉的对项目的流程及维护均有很大的便利,
而网上这方面的资料比较散乱,故在此将用到的技术作一个小结:
一、目录准备
原代码目录:bdsrc
发布目录:release
先删除原有的目录及目录下的文件
rd release /s /q
rd bdsrc /s /q
建立目录结构
md bdsrc
md release
cd release
md bin
md templates
md templates/img/
cd ..
二、vss的读取
cd bdsrc
set path=%path%;c:/Program Files/VSS/WIN32;D:/Program Files/VSS/WIN32;
set ssuser=danny
set sspwd=prjpwd
set ssdir=//server/prj/src/
ss workfold $/
ss get $/ -r -w
cd ..
三、开始编译
设置build用到的编译器路径
path = %windir%/Microsoft.NET/Framework/v1.1.4322;./tools;
调用各模块编译批处理
prj.bat的内容如下
cd prj
编译注册资源
lc /target:prj.dll /complist:licenses.licx
生成资源文件
resgen form1.resx prj.form1.resources
resgen form2.resx prj.form2.resources
csc @build.rsp
cd..
其中build.rsp是编译参数文件
/target:library /out:../../release/bin/prj.dll /res:prj.form1.resources /res:prj.form2.resources /res:prj.dll.licenses /recurse:*.cs /r:../../release/bin/prja.dll;../../release/bin/prjb.dll;
说明:target:类库为library,主程序为winexe
out:为编译目标
res:为资源文件
r:为依赖项
为了记录编译结果
可将build.bat写成如下
path = %windir%/Microsoft.NET/Framework/v1.1.4322;./tools;
echo 开始编译 %date% %time%
prja/build.bat
prjb/build.bat
echo 结束编译 %date% %time%
四、在编译机器上设置计划任务
计划任务的执行人要有批处理任务调试权限,在本地安全设置中设置