jenkins+svn+Ant+tomcat+非maven項目構建


首先,輸入項目名稱,創建一個自由風格的項目;

然后,配置舊項目的策略參數,目的是防止構建項目太多,占用資源。

 

下一步,jdk版本選擇:

下一步,關聯svn項目。

下一步:配置ant

看不清,再來一張。

下一步,構建:

下一步,配置tomcat:

最后,點擊應用-》保存。

然后我們選擇【立即構建】

 

 運行起來,肯定會報錯,因為我們使用ant發布,需要配置build.xml文件。

我的build.xml文件在項目根目錄下,如圖:

內容如下(該文件中的路徑是根據自己項目路徑為准,會進行個別的變動,要不然會報錯或者是構建成功之后訪問項目報404錯誤,哈哈,我就是):

<?xml version="1.0" encoding="GBK"?>
<project name="SF" default="deploy" basedir=".">
    <property environment="env" />
    <property name="webapp.name" value="SF" />
    <property name="catalina.home" value="/usr/local/apache-tomcat-8.0.20/" />
    <property name="dist.dir" value="${basedir}/dist" />
    <property name="ant.dir" value="/usr/local/apache-ant-1.10.5" />
    <property name="webRoot.dir" value="${basedir}/WebRoot" />
    <property name="src.dir" value="${basedir}/src" />
    <property name="resources.dir" value="${basedir}/resources" />
    <property name="lib.dir" value="${webRoot.dir}/WEB-INF/lib" />
    <property name="build.dir" value="${basedir}/build" />
    <!-- 使用eclipse jdt進行編譯,而不使用JDK編譯  -->
    <!-- <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />  -->
    <!-- <property name="build.compiler" value="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el6_10.x86_64" /> -->

    <!-- 初始化classpath -->
    <path id="project.classpath">
        <fileset dir="${lib.dir}">
            <include name="**/*.jar" />
        </fileset>
        <!-- 添加tomcat類路徑 -->
        <fileset dir="${catalina.home}/lib">
            <include name="*.jar" />
        </fileset>
        <!-- ant lib包  -->
        <fileset dir="${ant.dir}">
            <include name="**/*.jar" />
        </fileset>
    </path>
 
    <!-- get the source compile classpath in a printable form -->
    <pathconvert pathsep="${line.separator}|   |-- "
             property="echo.path.compile"
             refid="project.classpath">
    </pathconvert>
    
    <!-- show classpath jars -->
    <target name="print_classpath">
        <echo message="|-- compile classpath"/>
        <echo message="|   |"/>
        <echo message="|   |-- ${echo.path.compile}"/>
    </target>
    
    
    <!-- 刪除之前的目錄結構 -->
    <target name="clear" description="清理舊文件">
        <delete dir="${build.dir}" />
        <delete dir="${dist.dir}" />
        <delete file="${catalina.home}/webapps/${webapp.name}.war" />
        <delete dir="${catalina.home}/webapps/${webapp.name}" />
    </target>
 
    <!-- 創建目錄結構 -->
    <target name="init" depends="clear" description="創建初始化目錄結構">
        <mkdir dir="${build.dir}/classes" />
        <mkdir dir="${dist.dir}" />
    </target>
 
    <!-- 編譯java -->
    <target name="compile" depends="init" description="編譯java文件">
        <echo message="begin compile..." />
        <javac srcdir="${src.dir}" destdir="${build.dir}/classes" 
            includeantruntime="false" nowarn="on" 
            source="1.8" target="1.8" deprecation="true" debug="true" 
            encoding="UTF-8" classpathref="project.classpath" 
            >
            <!-- <compilerarg line="-XDignore.symbol.file"/> -->
            <compilerarg line="-Xlint:unchecked" />
            <!-- <classpath refid="project.classpath" /> -->
        </javac>
        <copydir dest="${build.dir}/classes" src="${resources.dir}" /> 
        <!-- <copy todir="${build.dir}">
            <fileset dir="${resources.dir}">
                <include name="**/**/*.xml" />
                <include name="**/**/*.ftl" />
                <include name="**/*.xml" />
                <include name="*.xml" />
                <include name="*.properties" />
            </fileset>
        </copy> -->
        <echo message="end compile..." />
    </target>
 
    <!-- 將class文件打成 jar包 -->
    <!--  
        <target name="pack" depends="compile"> 
            <jar jarfile="${build.dir}/${webapp.name}.jar"> 
                <fileset dir="${build.dir}/classes"> 
                    <include name="**/*.class"/> 
                </fileset> 
            </jar> 
        </target> 
    -->
 
    <!-- 打成war包, 名稱默認為 項目名 -->
    <target name="war" depends="compile" description="將工程打成war包">
        <echo message="begin war..." />
        <war destfile="${dist.dir}/${webapp.name}.war" basedir="${webRoot.dir}" 
            webxml="${webRoot.dir}/WEB-INF/web.xml">
            <lib dir="${lib.dir}" />
            <classes dir="${build.dir}/classes" />
            <fileset dir="${webRoot.dir}">
                <include name="***.*" />
            </fileset>
        </war>
        <echo message="end war..." />
    </target>
 
    <!-- copy war包 tomcat的deploy目錄 -->
    <target name="deploy" depends="war" description="部署項目">
        <echo message="begin deploy..." />
        <copy file="${dist.dir}/${webapp.name}.war" todir="${catalina.home}/webapps" />
        <echo message="end deploy..." />
    </target>
 
</project>

修改好build.xml文件之后,提交到svn。在jenkins中重新構建,構建成功之后,無需重啟tomcat,即可訪問到項目。

例如:http://ip地址:8080/項目名稱

 

下一節我們介紹build.xml需要變動哪些地方!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM