您的位置:首页 > 运维架构 > Tomcat

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

2018-03-16 10:45 459 查看
一、项目构建脚本
在项目根目录添加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四、安装antwget 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jenkins