首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

Cruise+ANT+maven2筹建持续集成环境

2012-11-19 
Cruise+ANT+maven2搭建持续集成环境Cruise 简介 管线概念 配置!--*******************启动 maven********

Cruise+ANT+maven2搭建持续集成环境
Cruise 简介

管线概念

配置

<!-- ******************* 启动 maven ******************* --> <target name="maven-run"> <exec executable="${m2.path}" output="${infofile}" dir="."> <arg line=" ${m2.target} -Dpversion=${build.version} "/> </exec> <!-- 判断运行是否成功 --> <loadfile property="run-info" srcFile="${infofile}"/> <echo message="${run-info}"/> <condition property="run-success"> <!-- 没有关键字 "BUILD FAILURE" 即为成功 --> <not> <contains string="${run-info}" substring="BUILD FAILURE"/> </not> </condition> <fail unless="run-success" message="${run-info}"/> </target>

<stage name="deploy"> <jobs> <job name="ubuntu_deploy"> <tasks> <!-- 清理构建环境 --> <exec command="mvn" args="clean" /> <!-- 调用ANT脚本,执行自动化任务 --> <ant target="deploy -Dscmurl=http://xxxxxx/xxxx/xxxx -Dscm.username=xx -Dscm.password=xx" /> </tasks> <artifacts> <!-- 将打包文件归档到服务器 --> <artifact src="target/*.war" /> </artifacts> </job> </jobs></stage>

?

版本号管理

<!—修正版本 --><target name="candidate" depends="init"><property name="build.type" value="candidate"/><antcall target="refresh"/><property file="${versionfile}"/><property name="build.version" value="${product.number}.${release.number}.${candidate.number}.${build.number}-RC"/><property name="m2.target" value="package -DskipTests"/><antcall target="maven-run"/><antcall target="tag"/></target><!-- 发布版本 --><target name="release" depends="init"><property name="build.type" value="release"/><antcall target="refresh"/><property file="${versionfile}"/><property name="build.version" value="${product.number}.${release.number}.${candidate.number}.${build.number}-release"/><property name="m2.target" value="package -DskipTests"/><antcall target="maven-run"/><antcall target="tag"/></target><!-- ============子过程=============== --><!-- *******************刷新版本号*******************--><target name="refresh"><java jar="${buildnumber.path}" fork="true"><arg value="${versionfile}"/><arg value="${build.type}"/></java></target>

?

<stage name="candidate"> <approval type="manual" /> <jobs> <job name="ubuntu_candidate"> <tasks> <exec command="mvn" args="clean" /> <ant target="candidate -Dscmurl=http:// xxx/xxx/xxx -Dscm.username= xxx -Dscm.password=xxx" /> </tasks> </job> </jobs> </stage> <stage name="release"> <approval type="manual" /> <jobs> <job name="ubuntu_release"> <tasks> <exec command="mvn" args="clean" /> <ant target="release -Dscmurl=http:// xxx/xxx/xxx -Dscm.username= xxx -Dscm.password=xxx" /> </tasks> </job> </jobs> </stage>

?

java –jar buildnumber.jar my.properties release

?

update successful! new version isproduct.number: 0release.number: 1candidate.number: 0build.number: 0

?

#Auto generate by BuildNumber, don't edit it.#Thu Sep 24 15:14:43 CST 2009build.number=0product.number=0candidate.number=0release.number=1

?

<!-- *******************在svn上打tag *******************--><target name="tag"><property name="scm.srcurl" value="${scmurl}/trunk"/><property name="scm.desturl" value="${scmurl}/tags/${build.version}"/> <!-- 引入svn插件 --><taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask" /><svn username="${scm.username}" password="${scm.password}"> <copy srcUrl="${scm.srcurl}" destUrl="${scm.desturl}" message="Tag created by cruise on ${TODAY}" /></svn><echo message="new tag is ${build.version}"/><echo message="success create tag at ${scm.desturl}"/></target>

?

tony1130 博客: http://blog.csdn.net/tony1130

?

1 楼 Tin 2009-09-24   写的不错!

热点排行