首页 > 其他 > 详细

jenkins插件之小白的笔记

时间:2015-03-26 01:41:40      阅读:267      评论:0      收藏:0      [点我收藏+]

    之前说过很长一段时间内,我使用jenkins仅仅是涉及两个地方:配置svn版本,点击立即构建。

所以一直特别好奇jenkins的各个插件究竟是怎么工作的。然后最近研究了一下我这边用上的几个插件,虽然不够透彻,但好歹对jenkins的构建过程有了一定程度的了解^_^

  1. Ant

    jenkins是如何利用ant编译程序并打成war包的呢?ant是基于build.xml工作的。所以我研究了一下build.xml的具体内容:

【可参考http://www.cnblogs.com/xionghui/archive/2012/03/13/2393679.html,博主写的非常详细】

<?xml version="1.0" encoding="UTF-8"?>
<project name="MyFirstJob" default="local" basedir=".">
    <property environment="env" />
    
    <property name="src.dir" value="src" />
    <property name="webroot.dir" value="WebContent" />
    <property name="web-inf.dir" value="${webroot.dir}/WEB-INF" />
    <property name="meta-inf.dir" value="${webroot.dir}/META-INF" />
    <property name="configuration.dir" value="configuration" />
    
    <property name="java.lib.dir" value="${env.JAVA_HOME}/lib" />
    <property name="tomcat.lib.dir" value="${env.CATALINA_HOME}/lib" />
    <property name="project.lib.dir" value="${web-inf.dir}/lib" />
    
    <property name="output.dir" value="build/classes" />
    <property name="release.dir" value="release" />    
        
    <property name="compile.debug" value="true" />
    <property name="compile.deprecation" value="true" />
    <property name="compile.optimize" value="true" />
    
    <target name="clean">
        <delete dir="${output.dir}" />
        <delete dir="${release.dir}" />
        <delete dir="${web-inf.dir}/classes}" />
    </target>
    <path id="classpath">
        <pathelement location="${output.dir}" />
        <fileset dir="${java.lib.dir}">
            <include name="*.jar" />
        </fileset>
        <fileset dir="${tomcat.lib.dir}">
            <include name="*.jar" />
        </fileset>
        <fileset dir="${project.lib.dir}">
            <include name="**/*.jar" />
        </fileset>
    </path>
    <target name="compilesrc" depends="clean">
        <mkdir dir="${output.dir}" />
        <javac srcdir="src" destdir="${output.dir}" includeantruntime="false" deprecation="${compile.deprecation}" debug="${compile.debug}" optimize="${compile.optimize}" encoding="UTF-8">
            <classpath refid="classpath" />
        </javac>
        <copy todir="${web-inf.dir}/classes">
            <fileset dir="${output.dir}" />
        </copy>
    </target>
  
    <target name="local" depends="compilesrc">
        <copy file="${configuration.dir}/web.config" tofile="${web-inf.dir}/classes/web.config" overwrite="true"/>
        <copy file="${configuration.dir}/algorithm.ini" tofile="${web-inf.dir}/classes/algorithm.ini" overwrite="true"/>
        <copy file="${configuration.dir}/web.xml" tofile="${web-inf.dir}/web.xml" overwrite="true"/>        
        <copy file="${configuration}/log4j.properties" tofile="${web-inf.dir}/log4j.properties" overwrite="true"/>
        <delete file="${meta-inf.dir}/context.xml"/>
        <war destfile="${release.dir}/MyFirstJob.war" basedir="${webroot.dir}" webxml="${web-inf.dir}/web.xml" />
    </target>          
    
</project>


jenkins插件之小白的笔记

原文:http://smileyes.blog.51cto.com/6027700/1624343

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!