Jenkins+ant+tomcat+svn+jdk 实现自动化部署教程
1、持续集成概述
随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质 量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。
持续集成正是针对这一类问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们 的工作,甚至每天都可能发生多次集成。而每次的集成都是通过自动化的构建来验证,包括自动 编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。
持续集成的核心价值在于:
1. 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程 以节省时间、费用和工作量;
2. 持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点 都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;
3. 持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其 重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。
持续集成的原则
业界普遍认同的持续集成的原则包括:
1) 需要版本控制软件保障团队成员提交的代码不会导致集成失败。常用的版本控制软件有IBM Rational ClearCase、CVS、Subversion 等;
2) 开发人员必须及时向版本控制库中提交代码,也必须经常性地从版本控制库中更新代码到本地;
3) 需要有专门的集成服务器来执行集成构建。根据项目的具体实际,集成构建可以被软件的 修改来直接触发,也可以定时启动,如每半个小时构建一次;
4) 必须保证构建的成功。如果构建失败,修复构建过程中的错误是优先级最高的工作。一旦修复,需要手动启动一次构建。
持续集成系统的组成
由此可见,一个完整的构建系统必须包括:
1. 一个自动构建过程,包括自动编译、分发、部署和测试等。
2. 一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库。
3. 一个持续集成服务器。本文中介绍的 Jenkins 就是一个配置简单和使用方便的持续集成服务器。
Jenkins 简介
Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。下面将 介绍 Jenkins 的基本功能。
Jenkins 的安装非常简单,只需要从 Jenkins 的主页上下载最新的 jenkins.war 文件然后运行java -jar jenkins.war。同时,还可以点击 Jenkins 页面上的 launch 按钮完成下载和运行 Jenkins
2、jenkins的工作原理
Jenkins,之前叫做Hudson,是基于Java开发的一种持续集成工具,用于监控秩序重复的工作,包括:
1)、持续的软件版本发布/测试项目。
2)、监控外部调用执行的工作。
下面是一个官网的简单图形介绍:
持续集成是一个开发的实践,需要开发人员定期集成代码到共享存储库(比如说svn或git等)。这个概念是为了消除发现的问题,后来出现在构建生命周期的问题。持续集成要求开发人员有频繁的构建。最常见的做法是,每当一个代码提交时,构建应该被触发。
3、jenkins 安装
在最简单的情况下,Jenkins 只需要两个步骤:
1.1、下载最新的版本(一个 WAR 文件)。Jenkins官方网址: http://Jenkins-ci.org/
1.2、命运行运行 java -jar jenkins.war(默认情况下端口是8080,如果要使用其他端口启动,可以通过命令行”java –jar Jenkins.war --httpPort=8081”的方式修改 或者选择自己想要的端口)
2.1 如果是通过jenkins.msi 安装的话 想要修改jenkins的端口
需要先停止相关的服务
然后在安装在jenkins 目录中 找到 jenkins.xml
然后打开修改相关的jenkins.xml 中的端口
然后在服务中找到相关的jenkins 服务 然后启动即可
4、jenkins的配置
登陆jenkins中第一次会使用密码登陆,这个时候需要找到你安装jenkins中的目录文件
然后打开输入即可 ,接下来就是安装相应的插件,可以选择自定义的插件,也可以安装推荐的插件
5、jenkins的全局配置
然后打开jenkins中的系统管理
打开全局工具配置,进行设置相应的环境变量 包括我们的ant、maven、jdk 等等
1、jdk环境变量的设定(安装在你本地的jdk 环境
2、ant 的安装 可以使用自动安装 或则 使用 自定义的安装 (填写你本地 ant的引用路径)
这样下来大致的jenkins中的配置环境就大致完成了。关于本地ant的安装在后面会有详细的教程
6、jenkins的创建流程
1、点击新建任务后会出现相关的页面
最后成型就是这个样子
构建环境
构建 因为是在windows 上的操作步骤 我们需要选择使用 dos 命令
构建后操作
点击立即构建 就可以了
可以查看到你打包的日志文件
在此关于jenkins的工作配置就已经完成,现在讲解关于ant 和 tomcat的配置
ANT的安装与配置
1、 官方主页http://ant.apache.org下载新版的ant。
*下载对应的版本,解压到我们的硬盘。
Window中设置ant环境变量:
ANT_HOME F:\ant\apache-ant-1.9.8
Path %ANT_HOME%\bin
ClassPath %ANT_HOME%\lib
三、验证ant
是否安装成功:ant
运行cmd 命令 使用 ant -version 代表成功
其中 ant 打包其中重要的事情就是在build.xml 他需要放在项目同级的目录下
以下是 build.xml 的文档
<?xml version="1.0" encoding="UTF-8"?>
<!-- 定义一个工程,默认任务为warFile。 -->
<project name="hmsp" default="warFile" basedir=".">
<!-- 定义属性,打成war包的名称。 -->
<property name="hmsp" value="hmsp.war"></property>
<!-- 定义路径,编译java文件时用到的jar包。 -->
<path id="project.lib">
<fileset dir="${basedir}/WebRoot/WEB-INF/lib">
<include name="**/*.jar"/>
</fileset>
</path>
<!-- 定义任务,清空任务:清空原有的class文件,创建新的build路径。 -->
<target name="clean">
<delete dir="${basedir}/build" />
<mkdir dir="${basedir}/build" />
<copy todir="${basedir}/build"> <!-- 拷贝文件 针对项目分层不明确-->!
<fileset dir="${basedir}/src">
<exclude name="cn/**" />
</fileset>
</copy>
</target>
<!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下。 -->
<target name="compile" depends="clean">
<javac srcdir="${basedir}/src" destdir="${basedir}/build" includeantruntime="false" >
<compilerarg line="-encoding UTF-8 "/>
<classpath refid="project.lib">
</classpath>
</javac>
</target>
<!-- 定义默认任务,将class文件集合成jar包。 -->
<target name="warFile" depends="compile">
<!-- 删除原有war包。 -->
<delete dir="${basedir}/${hmsp}" />
<!-- 建立新war包。 -->
<war destfile="${basedir}/${hmsp}" webxml="${basedir}/WebRoot/WEB-INF/web.xml">
<!-- 将非jar和非class文件拷贝到war包的对应路径下。 -->
<fileset dir="${basedir}/WebRoot">
<include name="**/**.*" />
<exclude name="**/*.jar"/>
<exclude name="**/*.class"/>
</fileset>
<!-- 将jar和class文件拷贝到war包的对应路径下。 -->
<lib dir="${basedir}/WebRoot/WEB-INF/lib" />
<classes dir="${basedir}/build" />
</war>
</target>
</project>
Tomcat的安装与配置
1、Tomcat中需要注意的几点是 webApp 下面的 包一定要有 否则jenkins打包会出现异常
2、修改tomcat中tomcat-user.xml
增加相关的配置文件
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/> <! -- 设定你的用户名 和密码 -->
<user username="root" password="admin" roles="admin-gui,admin,manager-gui,manager,manager-script"/>
3、修改tomcat的内存大小
选择Catalina.bat 打开然后添加命令
set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M