Svn + tomcat + Hudson持续集成部署

1.首先下载hudson

2. 我这里使用hudson-3.0.1版本

3. 下载后hudson是一个 war 包

4. 操作部署:

(1). 直接将hudson的war包复制到tomcat的webapps 中,启动运行tomcat,直接在浏览器地址中输入:http://localhost:16001/hudson-3.0.1/

(2). 登陆界面如下图:

Svn + tomcat + Hudson持续集成部署

(3).连接点击”系统管理”和”系统设置”如下图:

Svn + tomcat + Hudson持续集成部署

(3).在整个页面中配置jdk,ant,maven等信息,如下图:

Svn + tomcat + Hudson持续集成部署

Svn + tomcat + Hudson持续集成部署

(4).查看下hudson安装的插件,确保已经安装了如下图插件:

Svn + tomcat + Hudson持续集成部署

(5).如果使用代理上网的话,还需要设置代理服务器,如下图:

Svn + tomcat + Hudson持续集成部署

(6).创建一个hudson任务,如下图:

Svn + tomcat + Hudson持续集成部署Svn + tomcat + Hudson持续集成部署Svn + tomcat + Hudson持续集成部署

最后不要忘记保存!

(7). 编写项目部署ant文件,如下:

<?xml version="1.0" encoding="UTF-8"?>

<project
name="AUTODEPLOY_FSPDRS"
default="deploy"
basedir=".">

<description>使用【HUDSON-3】自动化持续部署【评审主系统】</description>

<target
name="about" description="关于">

<echo>########################</echo>

<echo>【持续部署项目构建工作文件】</echo>

<echo>########################</echo>

<echo>【该文件是持续部署构建文件,如果你需要使用Ant构建该应用程序请使用项目根目录'deploy'下build.xml文件构建】</echo>

</target>

<target
name="init">

<!--项目名称-->

<property
name="project.name"
value="fspdrs" />

<!--项目jar文件路径-->

<property
name="lib.dir" value="${basedir}/WebRoot/WEB-INF/lib"/>

<!--项目源文件路径-->

<property
name="src.dir" value="${basedir}/src/main/java"/>

<!--项目配置文件路径-->

<property
name="configPath"
value="config"/>

<!--构建路径-->

<property
name="build.dir"
value="${basedir}/build"
/>

<!--应用服务器路径-->

<property
name="app.dir" value="E:\fspdrs\32bit\apache-tomcat-7.0.41"/>

<!--应用服务器启动日志文件 -->

<property
name="log.file"
value="${app.dir}/hudson_subsystem_tomcat.log"/>

<!--应用服务器jar文件路径-->

<property
name="runtime.lib"
value="${app.dir}/lib"
/>

<!--应用服务器项目部署路径-->

<property
name="deploy.dir"
value="${app.dir}/webapps"
/>

<!--项目的WebRoot路径-->

<property
name="webRoot.dir"
value="${basedir}/WebRoot"
/>

<!--应用服务器项目访问路径-->

<property
name="app.url" value="http://localhost:8006/"/>

<property
name="javac.debug"
value="on" />

<property
name="javac.optimize"
value="off" />

<property
name="javac.target"
value="1.6" />

<property
name="javac.source"
value="1.6" />

<condition
property="tomcat.open">

<http
url="${app.url}"
/>

</condition>

<condition
property="tomcat.close">

<not>

<http
url="${app.url}"
/>

</not>

</condition>

<path
id="project.class.path">

<fileset
dir="${lib.dir}">

<include
name="*.jar" />

</fileset>

<fileset
dir="${runtime.lib}">

<include
name="*.jar" />

</fileset>

</path>

<tstamp
/>

<property
environment="env"
/>

<delete
dir="${build.dir}"
/>

<mkdir
dir="${build.dir}"
/>

</target>

<target
name="compaile"
depends="init" description="编译java文件">

<echo>正在编译程序,请稍后...</echo>

<javac
srcdir="${src.dir}"
destdir="${build.dir}"

includeantruntime="false"nowarn="on"source="1.6"target="1.6"deprecation="true"debug="true"

encoding="UTF-8"classpathref="project.class.path">

</javac>

<copy
todir="${build.dir}">

<fileset
dir="${src.dir}">

<exclude
name="**/*.java"/>

</fileset>

<fileset
dir="${configPath}">

<include
name="**/*.xml"
/>

<include
name="**/*.properties"
/>

</fileset>

</copy>

<echo>编译程序已完成!</echo>

</target>

<target
name="war" depends="compaile">

<echo>正在压缩War包,请稍后...</echo>

<war
destfile="${basedir}/${project.name}.war"basedir="${basedir}/WebRoot"webxml="${basedir}/WebRoot/WEB-INF/web.xml">

<lib
dir="${lib.dir}"
/>

<classes
dir="${build.dir}"
/>

<fileset
dir="${webRoot.dir}">

<include
name="generalsearch_template/**"/>

<include
name="help/**"/>

<include
name="images/**"/>

<include
name="installerSoft/**"/>

<include
name="rpt_template/**"/>

<include
name="script/**"/>

<include
name="style/**"/>

<include
name="taglibs/**"/>

<include
name="weboffice/**"/>

<include
name="temp/**"/>

<include
name="WEB-INF/**"/>

<include
name="403.jsp"/>

<include
name="404.jsp"/>

<include
name="500.jsp"/>

<include
name="code.jsp"/>

<include
name="error.jsp"/>

<include
name="login.jsp"/>

<include
name="timeout.jsp"/>

</fileset>

</war>

<echo>压缩War包已完成!</echo>

</target>

<target
name="tomcat-start">

<echo>启动部署服务器TOMCAT中,请稍后...</echo>

<exec
dir="${app.dir}/bin"
executable="cmd"
failonerror="false"
output="${log.file}"
append="true">

<env
path="${app.dir}"
key="CATALINA_HOME"
/>

<env
path="${app.dir}\temp"
key="CATALINA_TMPDIR"
/>

<env
path="${app.dir}"
key="CATALINA_BASE"
/>

<arg
value="/C startup.bat"
/>

</exec>

<echo>启动部署服务器TOMCAT已完成!</echo>

</target>

<target
name="tomcat-stop"
if="">

<echo>停止部署服务器TOMCAT中,请稍后...</echo>

<exec
dir="${app.dir}/bin"
executable="cmd"
failonerror="false"
output="${log.file}"
append="true">

<env
path="${app.dir}"
key="CATALINA_HOME"
/>

<env
path="${app.dir}\temp"
key="CATALINA_TMPDIR"
/>

<env
path="${app.dir}"
key="CATALINA_BASE"
/>

<arg
value="/c shutdown.bat"
/>

</exec>

<echo>停止部署服务器TOMCAT已完成!</echo>

<waitfor
maxwait="5" maxwaitunit="second">

<available
file="errors.log"
/>

</waitfor>

</target>

<target
name="deploy" depends="war">

<echo>正在执行自动化构建部署操作,请稍后...</echo>

<antcall
target="tomcat-stop"
/>

<waitfor
maxwait="60000">

<not>

<http
url="${app.url}"
/>

</not>

</waitfor>

<delete
dir="${deploy.dir}/${project.name}.war"></delete>

<delete
dir="${app.dir}/webapps/${project.name}.war"></delete>

<delete
dir="${app.dir}/webapps/${project.name}"></delete>

<copy
todir="${deploy.dir}"
file="${basedir}/${project.name}.war"></copy>

<antcall
target="tomcat-start"
/>

<echo>自动化构建部署已经完成!</echo>

</target>

</project>

(8). 创建好任务后,如下图,点击“构建一次图标”即可,完成持续部署操作。

Svn + tomcat + Hudson持续集成部署

(9).命令行输入如下图:

Svn + tomcat + Hudson持续集成部署

上一篇:JavaScript数组常见操作


下一篇:64位ubuntu安装WPS