java项目配置jenkins自动发布到tomcat

一、项目构建脚本

在项目根目录添加build.xml,这样就可以通过ant构建war了

<?xml version="1.0" encoding="UTF-8" ?>
<project name="t0pos" default="generwar" basedir=".">

	  <property name="build" value="${basedir}/build" />  
	    <property name="build.class" value="${build}/classes" />  
	    <property name="src" value="${basedir}/src" />  
	   <property name="resources" value="${basedir}/resources" /> 
	    <property name="webApp" value="${basedir}/WebRoot" />  
	    <property name="lib" value="${webApp}/WEB-INF/lib" />  
	  <!--请将下面的路径改为你本地的路径-->  
	 <!-- <property name="webserver" value="../tomcat-5.5.27\webapps" />  -->
	      
	    <!--定义CLASSPACH,编译时用到你外部加入的包-->  
	    <path id="classpath">  
	        <pathelement location="${src}" />  
	        <fileset dir="${lib}" includes="***.jar" />  
	    </path>  
	  
	    <!--删除任务-->  
	    <target name="clean" description="删除">  
	        <echo message="删除目录" />  
	        <delete dir="${build}" />  
	    </target>  
	  
	    <!--创建一个临时目录-->  
	    <target name="init" description="创建目录" depends="clean">  
	        <echo message="创建目录--以执行" />  
	        <mkdir dir="${build.class}" />  
	    	<copy todir="${build.class}">
	    	    	            <fileset dir="${resources}">
	    	    	               <include name="**" />
	    	    	          </fileset>
	    	    	       </copy>
	    </target>  


	    <!--编译java源文件-->  
	    <target name="compile" description="编译文件" depends="init">  
	        <echo message="编译文件" />
	    
	        <javac srcdir="src" destdir="${build.class}" includeAntRuntime="false">  
	            <classpath refid="classpath" />  
	            <compilerarg line="-encoding UTF-8 " />  
	        </javac>  
	    </target>  

	    <!--打成WAR包-->  
	    <target name="generwar" depends="compile">  
	        <echo message="打成WAR" />  
	        <war destfile="${build}/${ant.project.name}.war" webxml="${webApp}/WEB-INF/web.xml">  
	            <fileset dir="WebRoot">  
	            </fileset>  
	            <lib dir="${lib}" />  
	            <classes dir="${build.class}" />  
	        </war>  
	    </target>  
	    <!--把WAR放到一个指定目录,这里是直接布署到TOMCAT服务器-->  
	   <!-- <target name="fabu" depends="generwar" description="发布">  
	        <copy file="${build}/${ant.project.name}.war" todir="${webserver}">  
	        </copy>  
	    </target>  -->  
	    <!--把打好的WAR删除-->  
	  <!--  <target name="deleteWar" depends="fabu" description="删除服务器上的war">  
	        <delete dir="${build}" />  
	    </target>  -->

</project>

二、安装jenkins

https://jenkins.io/

我的服务器是centos

我没用rpm安装,用的下边的命令,https://pkg.jenkins.io/redhat-stable/


启动的时候将从/etc/sysconfig/jenkins获取配置参数,这里边可以配置端口,默认是8080

启动/停止/重启

sudo service jenkins start/stop/restart
sudo chkconfig jenkins on

由于服务器上安装的是jdk1.7,修改jenkins指定jdk1.8路径

 vim /etc/init.d/jenkins
在candidates中第一行添加你自定的java的路径

candidates="
/usr/lib/jvm/jdk1.8.0_62/bin/java
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java
"

在iptables增加8080端口访问

vim /etc/sysconfig/iptables

加入

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

重启防火墙

sudo service iptables restart

首次登录jenkins需要密码,

位置在

/var/lib/jenkins/secrets/initialAdminPassword 

安装默认插件



创建管理员账户

三、安装git

 查看当前git版本,需要2.7.4以上版本

git --version

如果版本低,先移除

yum -y remove git

安装编译git需要的包

yum install zlib-devel perl-CPAN gettext curl-devel expat-devel gettext-devel openssl-devel

wget https://github.com/git/git/archive/v2.16.2.tar.gz
我下载的竟然没有后缀名

这样也是可以解压的

tar -xzvf v2.16.2*

cd git-2.16.2

make prefix=/usr/local/git all

make prefix=/usr/local/git install

echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc

source /etc/bashrc

git --version

四、安装ant

wget http://mirrors.hust.edu.cn/apache//ant/binaries/apache-ant-1.10.2-bin.tar.gz
tar -xvf apache-ant-1.9.8-bin.tar.gz
复制到/usr/local/ant
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc
ant -version

五、配置jenkins

系统管理>全局工具配置






输入项目名称

git仓库在同一台服务器上可以直接填写路径




需要安装Deploy to a container插件才能发布到tomcat

Credentials add一个manager-script角色的用户



六、配置tomcat

修改tomcat-users.xml,增加如下内容

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>
<user username="deploy" password="s3cret" roles="manager-script"/>


tomcat指定jdk

在bin下找到setclasspath.sh,在文件的最开始加入如下代码:

set JAVA_HOME=你的jdk的路径
set JRE_HOME=你的jdk的路径/jre
重启tomcat
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值