职能划分
SVN:管理项目代码
Ant: 项目打包
Jenkins:创建任务,发布项目
1.Ant的下载和安装
下载地址:Apache Ant - Binary Distributionshttps://ant.apache.org/bindownload.cgi
下载zip至任意目录,解压后配置环境变量
(类似java的配置环境变量)
我的电脑 >> 属性 >> 系统详细设定 >> 详细设定 >> 环境变量
1.1 ANT_HOME
变量名:ANT_HOME
设置值:Ant解压的根目录
1.2 Path
变量名:Path
设置值:[Ant下载解压的根目录]\bin
2.Jenkins的下载和安装
下载Jenkins的war包,保存至本地Tomcat的webapps目录下
注意事项:
下载war包的时候注意该版本是否和自己电脑上安装的java版本相匹配,不匹配的话会导致Jenkins无法运行。
Jenkins war包历史版本查询
找到对应的Jenkins版本,点链接进去下载war包
3.Jenkins的运行和配置
3.1 Jenkins的运行
※ 确保【2.】中将下载的Jenkins的war包放置在本地Tomcat的webapps目录下
进入本地Tomcat的bin目录下双击执行【startup.bat】开启服务
(关闭服务的话执行同一目录下的【shutdown.bat】)
服务启动后,登入Jenkins本地发布网址进行配置
http://localhost:8080/jenkins/http://localhost:8080/jenkins/首次打开页面需要输入密码
安装插件
※ 进入插件管理,在可选插件里查找必要的插件进行安装
需要安装的插件:Ant Plugin(运行Ant相关功能的必要插件)
Subversion Revert Plugin(运行SVN相关功能的必要插件)
Localization: Chinese (Simplified)(简体中文插件)
注意事项:
安装·更新插件的时候有可能遇到安装错误的问题,如下图
解决方案:需要将修改升级站点的URL的【https】改为【http】
系统管理 >> 插件管理 >> 高级 >> 升级站点
修改后的URL:【http://localhost:8080/jenkins/pluginManager/advanced】
修改完提交后重新启动服务,再进入本地发布的网页,就可以继续安装·更新插件了
已安装并启动成功的例子
3.2 Jenkins的配置
系统管理 >> 全局工具配置
3.2.1 JDK配置
3.2.2 Ant配置
4.创建任务和项目发布
4.1 创建任务
配置源码管理
※全局凭证(账号密码)配置
配置构建环境
4.2 执行任务
上述配置完成后,点击【立即构建】执行任务
可以在控制台输出观察运行情况
运行完毕且运行成功后,会在Tomcat的webapps目录下自动拷贝项目的war包,并发布项目
此时可以去检查项目的war包是否生成,也可以直接登录项目网址,检查项目是否可以成功运行。
附:build.xml
这个文件是Ant打项目war包的核心文件,需要放置在项目的根目录下
需要手动修改项目名、代码的结构等
注意设置每个【target】的【depends】属性,来控制各个任务的运行顺序
(name:本任务名
description:本任务描述
depends:前一个执行的任务名)
【build.xml实例】
<?xml version="1.0" encoding="UTF-8"?>
<!-- 配置区 -->
<project name="test" default="generwar" basedir=".">
<property name="webapp.name" value="test" />
<property name="source" value="${basedir}/src" />
<property name="build" value="${basedir}/build" />
<property name="build.class" value="${build}/classes" />
<property name="webRoot" value="${basedir}/WebRoot" />
<property name="lib" value="${webRoot}/WEB-INF/lib" />
<!-- tomcat安装路径 -->
<property name="tomcat.home" value="E:\software\Eclipse\EclipseAllInOne\pleiades\tomcat\8" />
<property name="webserver" value="${tomcat.home}/webapps" />
<path id="project.classpath">
<!-- 项目所有的jar包 -->
<fileset dir="${lib}">
<include name="**/*.jar" />
</fileset>
<!-- tomcat lib目录下的jar包 -->
<fileset dir="${tomcat.home}/lib">
<include name="*.jar" />
</fileset>
</path>
<!-- 清除上一次残留的生成物 -->
<target name="clean" description="delete">
<echo message="clean build..." />
<delete dir="${build}" />
<delete file="${tomcat.home}/webapps/${webapp.name}.war" />
<delete dir="${tomcat.home}/webapps/${webapp.name}" />
<echo message="clean end." />
</target>
<!-- 初始化再构建 -->
<target name="init" description="creat" depends="clean">
<echo message="creat build..." />
<mkdir dir="${build.class}" />
<echo message="creat end." />
</target>
<!-- 编译代码 -->
<target name="compile" description="compileJava" depends="init">
<echo message="compile beginning..." />
<!-- 拷贝目录下java代码以外的配置文件(可省略) -->
<copy todir="${webRoot}/WEB-INF/classes">
<fileset dir="${source}">
<exclude name="**/*.java"/>
</fileset>
</copy>
<!-- 编译代码 -->
<javac srcdir="${source}" destdir="${build.class}"
compiler="javac1.8" source="1.8" target="1.8" includeantruntime="false" nowarn="on" debug="on">
<classpath refid="project.classpath" />
<compilerarg line="-encoding UTF-8 " />
</javac>
<echo message="compile end." />
</target>
<!-- 生成war包 -->
<target name="generwar" depends="compile">
<echo message="creat war file..." />
<war destfile="${build}/${webapp.name}.war" webxml="${webRoot}/WEB-INF/web.xml">
<fileset dir="webRoot">
</fileset>
<lib dir="${lib}" />
<classes dir="${build.class}" />
</war>
<echo message="creat end." />
</target>
<!-- 拷贝war包至tomcat的webapps目录下进行发布 -->
<target name="release" depends="generwar" description="copy war file">
<echo message="release started..." />
<copy file="${build}/${webapp.name}.war" todir="${webserver}">
</copy>
<echo message="release end." />
</target>
<!-- 删除Jenkins工作空间下生成的war包 -->
<target name="deletewar" depends="release" description="delete war">
<echo message="delete started..." />
<delete dir="${build}" />
<echo message="delete end." />
</target>
</project>
【全文完】