如何⽤Jenkins⾃动化部署Java项⽬(教程,从零到搭建完
成)
原⽂⽹址:
最近在实习中接触了jenkins这个东西,所以花点时间了解了下。它可以在代码上传仓库(如github,gitee,gitlab)后,在jenkins(⼀个⽹站界⾯)中通过获取代码仓库中最新代码,进⾏⾃动化部署,⽽省去⼿动打包、上传服务器、部署这⼀系列步骤,⾮常⽅便。
下⾯教程分为以下⼏个部分:
⼀、在你的本地电脑或者linux服务器上下载安装jenkins:
jenkins下载地址:jenkins.io/  下载⽹站的war包版本就好了
下载完后把它部署到你的tomcat上运⾏:放到tomcat的webapps⽬录下,启动tomcat(windows下双击startup.bat或者linux下运⾏
sh startup.sh),然后通过浏览器访问,如我的电脑上访问:localhost:8080/jenkins 。启动后的界⾯如下:
然后到提⽰的⽂件中把⾥⾯的⽂本复制出来填到管理员密码中。
接着如果是在本地电脑跑,可能会出现:该jenkins实例似乎已离线 提⽰,如果出现,是因为本地https访问不了的原因。在浏览器中另打开⼀个界⾯localhost:8080/pluginManager/advanced,把升级站
点中的url中的https改为http,保存更新。然后关掉tomcat服务器重启,就可以联⽹了。
接下来选择安装推荐的插件,这个需要⼀定的时间。最后额外推荐安装两个插件,在系统管理中可以安装插件:
1、 Rebuilder
2、 Safe Restart
⼆、在linux服务器中安装git, maven,创建⼀个jenkens⽬录,配置git的公钥到你的github上,这些步骤是使⽤jenkins的前提。
安装git的⽬的是在⾃动化部署前实时从git远程仓库中拉取最新的代码。在linux(我⽤的是centos系统)安装git:
yum install git
⽣成密钥:
ssh-keygen -t rsa -C "youremail@abc"
可以不设置密钥密码直接按三次回车。 把家⽬录中⽣成的公钥内容复制到github或其他仓库上。
安装maven的⽬的是通过项⽬中的l⽂件⾃动解决项⽬依赖问题,构建项⽬。linux中通过wget+下载链接下载maven的zip包然后解压即可。配置maven环境变量:
vim /etc/profile
//在这个⽂件末尾加上
export MAVEN_HOME=/root/maven3.4.5
export PATH=$MAVEN_HOME/bin:$PATH
//保存后在命令⾏输⼊,启动配置
. /etc/profile
创建jenkins⽬录,⽤来存储拉取下来的项⽬代码等。
三、将Linux服务器注册到Jenkins上
1、开启服务器上的ssh服务,可通过 netstat -anp | grep :22命令查看是否开启
2、先来测试⼀下怎么在jenkins中操作远程服务器
在jenkins中选择系统管理——》新建节点
其中远程⼯作⽬录即你在Linux上创建的jenkins⽬录。在Credentials添加⼀个远程⽤户,输⼊你的远程机器⽤户名和密码保存。
点击TestEnv,启动代理。
java环境变量自动配置在全局⼯具配置中配置git命令:
3、⾃动化部署过程原理:
所以需要编写⼀个shell脚本来执⾏这个过程。
具体的创建Jenkins任务的过程为
1.创建jenkins任务
2.填写Server信息
3.配置git参数
4.填写构建语句(shell脚本),实现⾃动部署。
四、创建⾃动化部署任务
1、编写shell部署脚本deploy.sh,并放到linux服务器中的jenkins⽬录下,在该⽬录下通过touch deploy.sh创建⼀个脚本,把下⾯的脚本复制到⾥⾯即可(到时每次⾃动部署都会执⾏它),脚本中的my-scrum为我要⾃动构建的项⽬名:
#!/usr/bin/env bash
#编译+部署项⽬站点
#需要配置如下参数
# 项⽬路径, 在Execute Shell中配置项⽬路径, pwd 就可以获得该项⽬路径
# export PROJ_PATH=这个jenkins任务在部署机器上的路径
# 输⼊你的环境上tomcat的全路径
# export TOMCAT_APP_PATH=tomcat在部署机器上的路径
### base 函数
killTomcat()
{
#pid=`ps -ef|grep tomcat|grep java|awk '{print $2}'`
#echo "tomcat Id list :$pid"
#if [ "$pid" = "" ]
#then
#  echo "no tomcat pid alive"
#else
#  kill -9 $pid
#fi
#上⾯注释的或者下⾯的
cd $TOMCAT_APP_PATH/bin
sh shutdown.sh
}
cd $PROJ_PATH/my-scrum
mvn clean install
# 停tomcat
killTomcat
# 删除原有⼯程
rm -rf $TOMCAT_APP_PATH/webapps/ROOT
rm -f $TOMCAT_APP_PATH/webapps/ROOT.war
rm -f $TOMCAT_APP_PATH/webapps/my-scrum.war
# 复制新的⼯程到tomcat上
cp $PROJ_PATH/scrum/target/order.war $TOMCAT_APP_PATH/webapps/
cd $TOMCAT_APP_PATH/webapps/
mv my-scrum.war ROOT.war
# 启动Tomcat
cd $TOMCAT_APP_PATH/
sh bin/startup.sh
2、在jenkins上点击新建⼀个任务,填好任务名,填写运⾏的节点(上⽂中新建节点时创建的):
3、点击源码管理,填写github(或gitlab等)地址:
4、点击add,选择check out to a sub-directory ,添加源码下载到jenkins⽬录下的指定⽬录(可以命名为你的项⽬名):
5、填写构建任务时的shell脚本,然后保存,点击⽴即构建完成⾃动构建。(这⾥有⼀个坑,⼀定要给to
mcat下所有sh⽂件加上x权限才能启动tomcat成功,具体为在tomcat⽬录上层执⾏chmod a+x  -R tomcat⽬录或者在tomcat的bin⽬录下执⾏chmod +x *.sh)
#当jenkins进程结束后新开的tomcat进程不被杀死
BUILD_ID=DONTKILLME
#加载变量
. /etc/profile
#配置运⾏参数
#PROJ_PATH为设置的jenkins⽬录的执⾏任务⽬录
export PROJ_PATH=`pwd`
#配置tomcat所在⽬录
export TOMCAT_APP_PATH=/root/tomcats/tomcat-my-scrum
#执⾏写好的⾃动化部署脚本
sh /root/jenkins/deploy.sh

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。