WEB开发网
开发学院软件开发Java 基于 Ant 搭建敏捷开发过程中的持续集成环境 阅读

基于 Ant 搭建敏捷开发过程中的持续集成环境

 2010-01-04 00:00:00 来源:WEB开发网   
核心提示: 对于测试环境和产品环境而言,获取产品包并自动的进行产品部署是两者共同的首要工作,基于 Ant 搭建敏捷开发过程中的持续集成环境(7),而这个过程中所面临的主要问题通常涉及不同操作系统的脚本移植性问题,幸好,然后结合作者自身实践,讲述了几种能够为持续集成提供重要支持和能力的 Ant 任务及概念,A

对于测试环境和产品环境而言,获取产品包并自动的进行产品部署是两者共同的首要工作,而这个过程中所面临的主要问题通常涉及不同操作系统的脚本移植性问题。幸好,Ant 具备了良好的跨平台能力,我们不必为不同的部署环境(Windows 或 Linux)去编写不同的部署脚本,只需将精力集中于产品包的获取和针对不同应用服务器的部署即可,清单 3 展示了如何从 FTP 服务器获取产品包,并自动发布于 IBM WebSphere 应用服务器的过程。


清单 3. 获取产品包并自动部署
<?xml version="1.0" encoding="UTF-8"?> 
<project name="SampleProductEnv" basedir="." default="updateProduct"> 
 
 <taskdef name="wsadmin" classname="com.ibm.websphere.ant.tasks.WsAdmin"/> 
 <taskdef name="wsStopServer" classname="com.ibm.websphere.ant.tasks.StopServer"/> 
 <taskdef name="wsStartServer" 
  classname="com.ibm.websphere.ant.tasks.StartServer"/> 
 
 <target name="getFromFTP" > 
  <ftp action="get" server="${FTPAddr}" userid="${FTPUsr}" password="${FTPPasswd}" 
   remotedir="${product_FTP}"> 
   <fileset dir="${basedir}/FTPDownload"> 
    <include name="production.*"/> 
   </fileset> 
  </ftp> 
 </target> 
 
 <target name="generateUpdatePack" depends="getFromFTP"> 
  <unzip src="${basedir}/FTPDownload/Production.zip" 
  dest="${basedir}/Production"> 
   <globmapper from="code_build" to="app1"/> 
  </unzip>  
 </target> 
 
 <target name="updateProduct"> 
  <wsadmin script="${basedir}/updateApp1.py" user="${MMC_user_name}" 
  password="${MMC_user_password}" conntype="NONE" failonerror="yes"> 
   <arg value="${update_files_location}/app1/WEB-INF/web.xml" /> 
  </wsadmin> 
 
  <antcall target="stop-server" /> 
  
  <copy todir="${product_Home}" overwrite="true"> 
   <fileset dir="${update_files_location}/app1 "> 
    <exclude name="**/web.xml"/> 
   </fileset> 
  </copy> 
  
  <antcall target="start-server" />  
 </target> 
 
 <target name="start-server"> 
  <wsStartServer server="server1" noWait="false" trace="true" 
  username="${MMC_user_name}" password="${MMC_user_password}" failonerror="yes"> 
  </wsStartServer> 
 </target> 
 
 <target name="stop-server"> 
  <wsStopServer server="server1" noWait="false" trace="true" 
  username="${MMC_user_name}" password="${MMC_user_password}" failonerror="yes"> 
  </wsStopServer> 
 </target> 
</project> 

结束语

本文首先介绍了一种在敏捷开发环境中最基本的持续集成环境,然后结合作者自身实践,讲述了几种能够为持续集成提供重要支持和能力的 Ant 任务及概念,最后通过示例性 Ant 脚本片段展示如何使用 Ant 脚本来快速地搭建这样一种环境。

上一页  2 3 4 5 6 7 

Tags:基于 Ant 搭建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接