增量代码的自动构建与部署框架介绍
概念和工具介绍
Agile 与 Delta Code
Agile —敏捷开发。近些年开始被人们广泛关注。它 提倡将一个完整的软件版本划分为多个迭代周期。每个迭代实现不同的特性。重大的,优先级高的特性优先实 现,风险高的特性优先实现。在项目的早期就将软件的原型开发出来,并基于这个原型在后续的迭代中不断完 善。
Delta Code —增量代码。在 Agile 开发模式中,开发人员基于软件原型不断的编写代码对其进 行完善和扩充。这些代码就称之为增量代码。
本文介绍的自动化框架主要针对增量代码进行构建和部 署。持续集成和每日构建能力是否足够强大是迭代开发是否成功的一个重要基础。本文将介绍如何在 RAD 开 发平台上实现快速的增量代码的构建。
WebSphere Commerce Build and Deployment Tool (WCBD)
WebSphere Commerce Build and Deployment tool 是包含在 WebSphere Commerce 产品中的 , 支持 客户定制的一种编译和部署工具。WCBD 由 Ant 脚本文件和各种模板组成。为用户提供了一个标准化和可控制 的自动化构建和部署流程。用户可以根据自身需求选择相应的模板进行定制,生成专属的脚本包。同时用户也 可以添加自己编写的脚本。它主要由构建代码和部署代码两部分组成,用户可以自行定制其中的流程。该工具 为持续集成和每日构建提供了快捷的方式。本文中将主要介绍 WCBD 的部署功能以及如何通过该功能部署用户 自定义的资源。WCBD 主要适用于使用 WAS 作为中间件的各种应用。可用于部署单文件,多文件或者整体部署 应用模块并支持本地和远程部署。用户在使用时需要根据自己的环境进行相应的配置。关于 WCBD 部署的配置 将在本系列的第 3 部分中为大家介绍。
Build Utility 插件
Build Utility 是集成于 Rational Application Development Tool (RAD)产品中的一个插件。通过对 Ant 脚本语言的扩展从而实现 了在 IBM 软件开发平台上对于各种应用的自动化构建。在工作平台中被开发的各种工程将作为 Build Utility 的输入。Build Utility 将输出编译好的工程文件并按照工程类型打包成 JAR,WAR 和 EAR 文件。 Build Utility 还额外增加了支持工作平台操作的特殊任务例如: projectImport, projectBuild, workspaceBuild, ejbDeploy 和 earExport。相对于单纯的 Eclipse 平台所支持的 Ant 任务要丰富很多。和 使用 Ant 工具一样,使用 Build Utility 插件时同样需要输入 XML 格式的构建脚本来执行各种任务。对于 Build Utility 所使用的 Build 脚本可以由客户自定的任务,Ant 自身包含的任务和 Build Utility 所包含 的特殊任务所组成。
Build Utility 支持在工作平台或者以命令行的方式使用。在工作平台中,使用 者只需要在构建脚本上点击右键,然后执行 Run As-> Ant Build。 通过命令行有两种方式使用 Build Utility. 使用者可以通过 RAD 安装路径下的 bin 目录中的 runANT.bat 文件启动该插件执行客户自定义 Build 脚本,或者通过 headless 的方式通过在 Ant 脚本中启动该插件从而实现 Ant 任务多线程的处理。以 下是对于上述两种方式的详细说明。
在 window 平台下执行 Build Utility 可通过如下方式。该方式 将调用 RAD 安装目录下的 bin 文件夹中的 runAnt,该文件用于配置环境变量并调用 application com.ibm.etools.j2ee.ant.RunAnt 启动 Build Utility。
打开命令行窗口。
输入 set workspace=<RAD_workspace root> 。
在命令行窗口定位到 <RAD_Install_root>\bin 目录下。
运行命令:runAnt -buildfile myScript.xml(myScirpt.xml 为用户自定义构建脚本)。
通过命令行的方式实现 Headless 的直接启动 com.ibm.etools.j2ee.ant.RunAnt 的代码示例清单 1 所示 。本文默认使用 Headless 方式启动 Built Utility。
清单 1. Headless 方式启动 Build Utility
<property name="classpath" value=""${developement.environment.full.path} \plugins\org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar;""/> <exec executable="${developement.environment.full.path}/jdk/bin/java" resultproperty="returnCode" errorproperty="runantErr" output="${build.scripts.log.path}/${args}.log"> <arg line="-ms256m" /> <arg line="-mx1024m" /> <arg line="-Xj9" /> <arg line="-classpath ${classpath}" /> <arg line="org.eclipse.equinox.launcher.Main" /> <arg line="-application com.ibm.etools.j2ee.ant.RunAnt" /> <arg line="-Dosgi.adaptor=org.eclipse.core.runtime.adapter.EclipseAdaptor" /> <arg line="-Dwtp.autotest.noninteractive=true" /> <arg line="-data ${workspace.full.path}" /> <arg line="-buildfile ${buildFile}" /> <arg line="${args}" /> </exec>
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索脚本
, build()
, 代码
, 迭代
, 增量
, build
, agilent
, agile
, 增量部署
, 方式
, 自动启动特性
, Ant脚本生成war包
Headless
websphere commerce、websphere 自动化部署、前端自动化构建工具、自动化构建工具、自动化构建,以便于您获取更多的相关知识。