应用WSH、JavaScript和 bat 实现自动化构建工具改善工作中的代码部署流程!

    相对于实现需求来说代码的发布部署工作是一项重复的体力劳动,如:代码的压缩、资源URL的替换、资源文件在多台服务器上的同步工作、重启相应Windows服务。对于每次发布部署来说这都是一个固定的流程。显然我们对代码部署这种重复的体力劳动比较不感兴趣,对于实现新需求有更高的积极性。另外作为做程序员,我们这类典型的脑力劳动者除了实现工作中业务需求外,我们也应该要充分利用自身优势,尽可能的通过程序代码来自动化那些可有计算机完成的体力工作。

    在这篇博客中介绍了我为改善工作中的代码部署流程,使用WSH、Javascript和Bat实现的一个自动化构建工具。WSH是windows宿主的脚本技术,宿主指的是脚本运行的环境。使用WSH让我们可以脱离浏览器,在windows的CMD命令提示符下运行JavaScript。在WSH中通过结合JavaScript的动态语言特性和COM的强大可扩展性展示了Javascript的强大。

背景:

    根据我之前负责行情中心项目的工作来看,行情中心改动比较频繁,基本上每周都会有改动。尽管这些改动都是有意义的,但同时也会增加部署的工作量。 我认为对于这些无意义机械性劳动应该交由计算机来自动化处理,这样做优点是部署高效,可靠(依赖部署脚本)。另外也可以把更多的精力放在代码需求的实现上。 相对于自动化部署来说,如果手工来做这些工作的话不仅低效而且也容易疏忽出错。我所了解的Windows平台部署自动化方案有vbs+bat,  js+bat,  powershell、nant build, msbuild。在这里我要介绍的就是 js+bat方案。优点是使用方便无学习成本、按需求定制、灵活。缺点是功能没有现有的开源构建工具强大。如果您有更好的方法欢迎讨论。

使用说明:
1 使用之前需根据应用应用环境,修改根目录下配置文件congfig.xml。
2 在构建工具根目录的contents目下放置需要部署的文件或目录。
3 "$"表示命令行提示符。

命令介绍:

clean 初始化构建环境
命令:$ build
说明:清除contents文件夹及其子文件夹中的所有文件

命令: $ build /clean
说明:操作同直接运行build.bat 相同。

copy 文件分发
命令:$ build /copy:aspx
说明:执行配置文件中name="aspx" 的copy任务
命令:$ build /copy
说明:执行配置文件中所有拷贝任务

replace 替换URL
命令:$ build /replace:aspx
说明:执行配置文件中name="aspx" 的replace任务

命令:$ build /replace
说明:执行配置文件中所有替换任务

批处理使用说明:
EastMoney's File Server.bat
重启文件同步服务

LightWeight Aspx2Html Service.bat
重启动转静服务

start.bat
打开命令提示窗口定位到当前目录

后续...
compiler 压缩JS
log 构建日志

posted @ 2011-05-27 22:57  rentj  阅读(1362)  评论(0编辑  收藏  举报