持续集成,持续交付,持续部署。java
持续集成:对源代码进行自动化编译、测试、代码检查,以及打包程序、部署(发布)到应用服务器上。主要使用jenkins。linux
经过主干开发分支发布进行,首先从主干上拉取代码到本地进行开发,代码修改完成定点将代码合入到主干后进行编译扫描,跑自动化测试任务。自动化测试包括单元测试、集成测试、系统测试、验收测试、性能测试等。web
Jenkins:shell
配置项目配置任务流配置任务。windows
主要在于任务的管理,有拉取代码任务,扫描任务,编译等。可经过使用ant脚本或者shell脚本或者其余脚本实现各功能。api
Ant脚本是一个基于开放的操做系统构建和部署的工具,用xml的文档来编写,就如linux下的shell脚本,windows下的cmd命令。经过一个xml文件来制定一系列文件的建立删除任务、编译任务、运行任务、测试任务、打包任务等。咱们能够经过ant指令执行这个xml脚本,来批处理这些任务,这样就能够实现“一键”完成编码后的编译、运行、测试、打包导出等工做,使咱们能够更加专一于代码的编写与质量。服务器
ps:ant的使用和学习:https://www.w3cschool.cn/ant less
<?xml version="1.0"?> <project name="pro" default="info2">
<copy file="C:/Users/user/Desktop/startup.txt" tofile="C:/Users/user/Desktop/copy.txt"/> 拷贝文件
<path id="build.classpath"> <fileset dir="lib"> <include name="*.jar"/> </fileset> <pathelement path="${build.dir}"/> </path>
<target name="clean"> <delete dir="build"/> </target> <target name="compile" depends="clean"> <mkdir dir="build/classes"/> <javac srcdir="src" destdir="build/classes" encoding="UTF-8" includes="com/**"> <classpath refid="build.classpath" /> </javac> </target> 使用ant编译java项目。将build.xml存放于项目下,跑命令跑该脚本 ant -buildfile xml路径
<property name="sitename" value="www.xxxxx.com"/> 属性至关于参数定义 <target name="info2" depends="info1"> 可包含多个target,每一个target就是一个任务,target中有name、depends、description、if、unless <echo>测试</echo> </target> <target name="info1" depends="info"> <echo>扫描</echo> </target> <target name="info" > <echo>编译 ${sitename} ${ant.project.name}</echo> 参数的使用 ant的预约义属性也能够使用。 </target> </project>
java用来运行一个.class文件 java -buildfile xxx.java工具
javadoc用来生成api文档性能
jar用来生成jar包
javac用来把.java文件编译为.class文件 java xxx
初始化、编译、打包
<?xml version="1.0" encoding="UTF-8"?> <project name="ant_web_hello" default="jar" > <target name="init"> <mkdir dir="build/classes"/> </target> <!-- 定义编译时的classpath --> <path id="compile.path"> <fileset dir="webContent/WEB-INF/lib" includes="*.lib"> </fileset> </path> <target name="compile" description="编译源文件" depends="init" > <javac srcdir="src" destdir="build/classes" source="1.5" target="1.5"> <classpath refid="compile.path" /> </javac> <echo>编译完成!</echo> </target> <target name="jar" depends="compile"> <jar destfile="webContent/WEB-INF/lib/util.jar" > </jar> <echo>打包完成!</echo> </target> <target name="clean" description="清理" depends="jar"> <delete dir="build/classes" /> <echo>清理完成!</echo> </target> </project>
Jenkins配置: 使用的是java语言写的代码,代码开发时使用jdk1.8版本,服务器使用1.7版本,须要更新jdk版本。下载安装jdk,在环境变量中配置环境变量。 环境变量配置时找到jdk地址,以后设置参数进行修改。 在cmd命令中确认java的版本,java -version 在出现java.lang.ArrayIndexOutOfBoundsException: 5 问题时,是参数有问题,
<path id="build.classpath"> <fileset dir="lib"> <include name="*.jar"/> </fileset> <pathelement path="${build.dir}"/></path>