Jenkins + Ant + Git + Tomcat自动化部署
环境linux下,大致的配置内容如下:
- 首先安装JDK配置环境变量等。
- 其次安装ANT配置ANT_HONE并把bin目录加入PATH中。
- 然后安装Git,并生成sshkey配置ssh
- 安装tomcat,并配置用户信息
- 最后下载jenkins.war包,部署到tomcat下。
1. 环境变量如下:
JAVA_HOME=/usr/local/jdk1.8.0_73
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ANT_HOME=/usr/local/apache-ant-1.9.7
PATH=$ANT_HOME/bin:$PATH
export ANT_HOME
export JAVA_HOME
export PATH
export CLASSPATH
2. 配置tomcat用信息如下:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="admin" password="admin" roles="tomcat,role1,manager-gui,manager-script,manager-jmx,manager-status"/>
3. 生成SSH的操作
ssh-keygen -t rsa -C "xxxxxx@yy.com"
回车三次(无密码) 在~/.ssh 文件夹下生成两个文件,id_rsa id_rsa.pub 其中pub表示公钥,将公钥添加到git 远程库中。私钥需要添加到jenkins的配置中。
在jenkins页面点击Credentials,变添加私钥信息在此处。
3. jenkins配置
打开jenkins,初始化后,安装如下插件(Ant、Deploy to container Plugin、Git)
插件配置
在系统管理--Global Tool Configuration中进行配置git的执行路径

ant的可执行路径,以及ant的名称

代码中ant的build文件
样例如下:
<?xml version="1.0" encoding="UTF-8" ?>
<project name="palace" default="compile" basedir=".">
<property name="tomcat.lib" value="/usr/local/apache-tomcat-8.0.24/lib" />
<property name="dest.dir" value="WEB-INF/classes" />
<property name="src.dir" value="src" />
<!-- 定义属性,打成war包的名称。 -->
<property name="warFileName" value="palace.war"></property>
<target name="init">
<mkdir dir="${dest.dir}" />
</target>
<target name="compile" depends="init">
<javac srcdir="${src.dir}" destdir="${dest.dir}">
<classpath>
<fileset dir="${tomcat.lib}">
<include name="*.jar" />
</fileset>
<fileset dir="WebContent/WEB-INF/lib">
<include name="*.jar" />
</fileset>
</classpath>
</javac>
</target> <!-- 定义默认任务,将class文件集合成jar包。 -->
<target name="war" depends="compile">
<!-- 删除原有war包。 -->
<delete dir="${basedir}/${warFileName}" />
<!-- 建立新war包。 -->
<war destfile="${basedir}/${warFileName}" webxml="${basedir}/WebContent/WEB-INF/web.xml">
<!-- 将非jar和非class文件拷贝到war包的对应路径下。 -->
<fileset dir="${basedir}/WebContent">
<include name="**/**.*" />
<exclude name="**/*.jar"/>
<exclude name="**/*.class"/>
</fileset>
<!-- 将jar和class文件拷贝到war包的对应路径下。 -->
<lib dir="${basedir}/WebContent/WEB-INF/lib" />
<classes dir="${dest.dir}" />
</war>
</target> <target name="clean">
<delete dir="${dest.dir}" />
</target>
</project>
手动创建job
源码管理配置(此处选择上面添加的Credentials)

构建配置(选择上述添加的名称,另外targets可空,也可填写自己要构建的target名称,最后执行的命令为
ant -file build.xml war(target名称)

构建后操作,注意此处必须是**/*.war,(即使绝对路径也会报错)

Jenkins + Ant + Git + Tomcat自动化部署的更多相关文章
- 基于Jenkins,docker实现自动化部署(持续交互)
前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...
- 基于Jenkins,docker实现自动化部署(持续交互)【转】
前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...
- Jenkins+Ant+Jmeter接口自动化集成测试实例
Jenkins+Ant+Jmeter接口自动化集成测试实例 一.Jenkins安装配置 1.安装配置JDK1.6+环境变量: 2.下载jenkins.war,放入C:\jenkins目录下,目录位置随 ...
- Jenkins+SVN+Maven+shell 自动化部署实践
JAVA环境中利用Jenkins+svn+maven进行自动化部署实践 一. 前言2 1.介绍jenkins2 1.本地项目打包2 2.通过secureCRT工具,手动传输到服务器2 3.然后 ...
- jenkins+ant+jmeter实现自动化集成(详解)
jenkins+ant+jmeter实现自动化集成 for window 一.jmeter 1.jmeter安装 二.ant 1.ant安装 三.ant运行 jmeter脚本 1.配置 四.jenki ...
- .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统
.NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...
- Tomcat 自动化部署
Tomcat 自动化部署脚本 使用方法: ./autodeploy.sh test 其中autodeploy.sh 为脚本的文件名, test为war的文件名. #!/bin/sh now=`date ...
- jenkins实现maven项目自动化部署tomcat
最近公司有用到jenkins实现自动化部署,这里我对新的东西也是比较感兴趣,就用了点时间尝试了一下,虽然网上有很多这种例子,但是可能有些细节我也走了一些弯路.在这里记录一下,方便下次用到. 实现环境: ...
- jenkins+tomcat自动化部署
一.配置tomcat tomcat版本:tomcat-9.0.39 vim /usr/local/tomcat-9.0.39/conf/tomcat-users.xml <tomcat-user ...
随机推荐
- Java开发的基础条件:
------------Java开发的基础条件:Java相关的基础+对编程的自己的理解+调试代码+自己的坚持 一定要谦逊,不人云亦云,不去妄言某一门语言或技术好或坏!不是哪门技术有问题,而是(不会用才 ...
- ThinkPHP3.2.3整合smarty模板(二)
前言:继ThinkPHP3.2.3整合smarty模板(一)之后,继续来探讨一下tp框架整合smarty模板,看到有人在群上问到怎么使用自定义的常量,今天就具体来谈谈: 一.开发一个项目,必不可少会用 ...
- filterHTML
function filterHTML(source) { return !source ? "" : source.replace(/]*>/g, "" ...
- HTML兼容问题——HACK技术
有话先说:本文的目的主要是向大家描述一下我们在遇见IE8版本一下以及Firefox兼容的问题. 针对不同的浏览器写不同的CSS的过程,这就叫CSS hack,也叫写CSS hack,相信您会对一些比较 ...
- 【分享】SQL中的注入漏洞
例:假设一个账户密码的输入在数据库中是这样进行判断的. ' ) AS PWDCORRECT FROM T_USER WHERE FUSER= 'GUEST' 如果输入: ') AS PWDCORREC ...
- InnoDB全文索引:N-gram Parser【转】
本文来自:http://mysqlserverteam.com/innodb%E5%85%A8%E6%96%87%E7%B4%A2%E5%BC%95%EF%BC%9An-gram-parser/ In ...
- istringstream、ostringstream、stringstream 类简介
本文系转载,原文链接:http://www.cnblogs.com/gamesky/archive/2013/01/09/2852356.html ,如有侵权,请联系我:534624117@qq.co ...
- c语言for循环
#include<stdio.h>#include<windows.h>#include <limits.h>#include <math.h>void ...
- meta标签用法总结
注:本文并非本人撰写,摘自百度百科 meta标签用来描述一个HTML网页文档的属性,例如作者.日期和时间.网页描述.关键词.页面刷新等. 一.作用: META标签是HTML标记HEAD区的 ...
- 【Linux】Linux中常用操作命令
博客已转移,请借一步说话,http://www.weixuehao.com/archives/25 Linux简介及Ubuntu安装 常见指令 系统管理命令 打包压缩相关命令 关机/重启机器 Linu ...