您的位置:首页 > 运维架构 > Tomcat

Svn + tomcat + Hudson持续集成部署

2014-02-18 16:25 603 查看
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). 登陆界面如下图:



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



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





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



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



 (6).创建一个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). 创建好任务后,如下图,点击“构建一次图标”即可,完成持续部署操作。



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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐