设为首页 收藏本站
查看: 774|回复: 0

[经验分享] 一个完整的JENKINS下的ANT BUILD.XML文件(Jenkins可以参考)

[复制链接]

尚未签到

发表于 2018-1-7 14:41:04 | 显示全部楼层 |阅读模式
<?xml version="1.0" encoding="UTF-8"?>  
<project name="genwar" default="all" basedir=".">
  

  
<description> - Generate war file - </description>
  

  
<property environment="env" />
  

  
<property name="debuglevel" value="source,lines,vars" />
  
<property name="target" value="1.6" />
  
<property name="source" value="1.6" />
  

  
<property name="output.dir" location="." />
  
<property name="output.file" value="new_cos.war" />
  

  
<property name="project.build" location="./build" />
  
<property name="project.src" location="./src" />
  
<property name="project.web" location="../web" />
  
<property name="project.lib" location="./lib" />
  
<property name="project.res" location="./res" />
  
<property name="project.svc" location="./svc" />
  

  
<property name="project.war" location="${project.build}/${output.file}" />
  

  
<property name="tmp" location="${project.build}/tmp" />
  
<property name="tmp.src" location="${tmp}/src" />
  
<property name="tmp.lib" location="${project.web}/WEB-INF/lib" />
  
<property name="tmp.bin" location="${tmp}/bin" />
  
<property name="tmp.web" location="${tmp}/web" />
  
<property name="tmp.classes" location="${tmp}/classes" />
  

  
<property name="checkstyle.dir" location="./ant-task/checkstyle" />
  
<property name="findbugs.dir" location="./ant-task/findbugs/home" />
  
<property name="findbugs.report.dir" location="./ant-task/findbugs" />
  
<property name="junit.reports.dir" value="./ant-task/junit/reports" />
  
<property name="junit.class.dir" value="./ant-task/junit/bin" />
  
<property name="junit.test.src" location="./test/java" />
  
<property name="junit.test.resources" location="./test/resources" />
  

  
<path>
  
<pathelement path="${env.classpath}" />
  
<pathelement path="${env.JBOSS_HOME}/server/all/lib/servlet-api.jar" />
  
<pathelement path="${env.JBOSS_HOME}/server/all/lib/jsp-api.jar" />
  
<fileset dir="${tmp.lib}" includes="*.jar" />
  
<!-- <fileset dir="${project.lib}" includes="*.jar" /> -->
  
</path>
  

  
<path>
  
<fileset dir="${findbugs.dir}" includes="**/*.jar" />
  
</path>
  

  
<target name="clean">
  
<delete file="${output.dir}/${output.file}" failonerror="false" />
  
<delete dir="${project.build}" failonerror="false" />
  
<mkdir dir="${project.build}" />
  
</target>
  

  
<target name="all" depends="clean,buildwar" />
  

  
<target name="initdir">
  

  
<echo message="Init directories " />
  

  
<delete dir="${tmp}" failonerror="false" />
  

  
<mkdir dir="${tmp}" />
  

  
<mkdir dir="${tmp.src}" />
  
<copy todir="${tmp.src}">
  
<fileset dir="${project.src}" excludes="**/.svn/**" />
  
</copy>
  

  
<mkdir dir="${tmp.lib}" />
  
<!--
  
<copy todir="${tmp.lib}">
  
<fileset dir="${project.web}/WEB-INF/lib" includes="*.jar" />
  
</copy>
  
-->
  

  
<mkdir dir="${tmp.bin}" />
  

  
<mkdir dir="${tmp.web}/WEB-INF/lib" />
  

  
<delete dir="${tmp.web}/WEB-INF/classes" failonerror="false" />
  
<mkdir dir="${tmp.web}/WEB-INF/classes" />
  

  
</target>
  

  
<target name="compilejava" depends="initdir">
  
<echo message="Compiling java code " />
  

  
<javac debug="true" debuglevel="${debuglevel}" destdir="${tmp.bin}" source="${source}" target="${target}" encoding="UTF-8">
  
<src path="${tmp.src}" />
  
<classpath refid="javaclass.path" />
  
</javac>
  

  
<copy todir="${tmp.web}/WEB-INF/classes" includeemptydirs="false">
  
<fileset dir="${tmp.src}">
  
<exclude name="**/*.java" />
  
</fileset>
  
</copy>
  
<copy todir="${tmp.web}/WEB-INF/classes" includeemptydirs="false">
  
<fileset dir="${tmp.bin}">
  
<include name="**/*.class" />
  
</fileset>
  
</copy>
  
</target>
  

  
<target name="compilejava-without-copy" depends="initdir">
  
<echo message="Compiling java code " />
  

  
<javac debug="true" debuglevel="${debuglevel}" destdir="${tmp.bin}" source="${source}" target="${target}" encoding="UTF-8">
  
<src path="${tmp.src}" />
  
<classpath refid="javaclass.path" />
  
</javac>
  

  
</target>
  

  
<target name="buildwar" depends="compilejava">
  

  
<echo message="Packing war file " />
  

  
<copy todir="${tmp.web}">
  
<fileset dir="${project.web}" excludes="**/.svn/**" />
  
</copy>
  

  
<delete file="${project.war}" failonerror="false" />
  
<war destfile="${project.war}" basedir="${tmp.web}" webxml="${tmp.web}/WEB-INF/web.xml" encoding="utf-8" />
  
<delete dir="${tmp}" failonerror="false" />
  

  
<delete file="${output.dir}/${output.file}" failonerror="false" />
  
<move todir="${output.dir}" includeemptydirs="false" filtering="true">
  
<fileset dir="${project.build}">
  
<include name="**/*.war" />
  
</fileset>
  
</move>
  

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

  
</target>
  

  
<taskdef resource="checkstyletask.properties"
  
classpath="${checkstyle.dir}/checkstyle-5.5-all.jar"/>
  

  
<target name="checkstyle"
  
description="Generates a report of code convention violations.">
  

  
<checkstyle config="${checkstyle.dir}/my_check.xml"
  
failureProperty="checkstyle.failure" failOnViolation="false">
  
<formatter type="xml" tofile="${checkstyle.dir}/checkstyle_report.xml" />
  
<fileset dir="${project.src}" includes="**/*.java" />
  
</checkstyle>
  

  
<!-- style in="checkstyle_report.xml" out="checkstyle_report.html"
  
style="checkstyle.xsl" /-->
  

  
</target>
  


  
<taskdef name="findbugs">  
classpathref ="findbugs.path"/>
  

  
<target name="findbugs" depends="compilejava-without-copy"
  
description="用Findbugs检查代码错误.">
  
<echo>开始用Findbugs检查代码错误</echo>
  
<findbugs home="${findbugs.dir}" output="xml"
  
outputFile="${findbugs.report.dir}/findbugs_report.xml" >
  
<auxClasspath >
  
<path refid="junit.test.lib.path" />
  
</auxClasspath>
  
<!--auxClasspath path="${basedir}/lib/Regex.jar" /-->
  
<sourcePath path="${tmp.src}" />
  
<class location="${tmp.bin}" />
  
</findbugs>
  
<echo>Findbugs检查代码错误完成</echo>
  

  
<delete dir="${project.build}" failonerror="false" />
  
</target>
  

  
<target name="junit-init" >
  
<delete dir="${junit.class.dir}" failonerror="false" />
  
<mkdir dir="${junit.class.dir}" />
  
<delete dir="${junit.reports.dir}/result-xml" failonerror="false" />
  
<mkdir dir="${junit.reports.dir}/result-xml" />
  
<delete dir="${junit.reports.dir}/html" failonerror="false" />
  
<mkdir dir="${junit.reports.dir}/html" />
  
<delete dir="${junit.reports.dir}/html-result" failonerror="false" />
  
<mkdir dir="${junit.reports.dir}/html-result" />
  
</target>
  

  

  
<target name="junit-compile" depends="junit-init">
  
<echo message="${project.web}/WEB-INF/lib"/>
  
<javac srcdir="${project.src}" destdir="${junit.class.dir}" source="${source}" target="${target}" encoding="UTF-8">
  
<classpath refid="junit.test.lib.path" />
  
</javac>
  
<javac srcdir="${junit.test.src}" destdir="${junit.class.dir}" source="${source}" target="${target}" encoding="UTF-8">
  
<classpath refid="junit.test.lib.path" />
  
</javac>
  
<copy todir="${junit.class.dir}">
  
<fileset dir="${junit.test.resources}">
  
<include name="**/*.xml" />
  
</fileset>
  
</copy>
  
<copy todir="${junit.class.dir}">
  
<fileset dir="${project.src}">
  
<include name="**/*.xml" />
  
</fileset>
  
</copy>
  
</target>
  

  
<path>
  
<pathelement path="${env.JBOSS_HOME}/server/all/lib/servlet-api.jar" />
  
<pathelement path="${env.JBOSS_HOME}/server/all/lib/jsp-api.jar" />
  
<pathelement path="${env.JBOSS_HOME}/server/all/lib/jboss-j2ee.jar" />
  
<fileset dir="${project.web}/WEB-INF/lib" includes="**/*.jar" />
  
<fileset dir="${project.lib}" includes="**/*.jar" />
  
</path>
  

  

  
<target name="junit-test" depends="junit-compile">
  
<junit printsummary="yes">
  
<classpath>
  
<!-- 指定lib和class路径,class和jar的声明不能混在一起 -->
  
<pathelement location="${junit.class.dir}" />
  
<path refid="junit.test.lib.path" />
  
</classpath>
  
<batchtest todir="${junit.reports.dir}/result-xml">
  
<fileset dir="${junit.test.src}" includes="**/*TestCase.java" />
  
<formatter type="xml" />
  
</batchtest>
  
</junit>
  
<junitreport todir="${junit.reports.dir}/html-result">
  
<!-- 指定测试结果的XML,即上一步产生的XML -->
  
<fileset dir="${junit.reports.dir}/result-xml">
  
<include name="TEST-*.xml" />
  
</fileset>
  
<!-- 根据测试结果XML,生成TESTS-TestSuites.xml,并由此产生HTML文件 -->
  
<report format="frames" todir="${junit.reports.dir}/html" />
  
<!--
  
-->
  
</junitreport>
  
</target>
  

  

  
</project>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-432595-1-1.html 上篇帖子: [钉钉通知系列]Jenkins发布后自动通知 下篇帖子: Jmeter+jenkins接口性能测试平台实践整理(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表