linux安装jenkins并远程部署springboot项目

一、jenkins安装

先安装好jdk

yum安装Jenkins:

yum install jenkins

随后就可以看到系统开始自动下载安装。出现提示是否下载的时候输入y并按回车。耐心等待安装完成。

现在Jenkins已经安装好了,不过启动之前最好稍微修改一下配置。默认情况是Jenkins是使用Jenkins用户启动的,但这个用户目前系统并没有赋予权限,这里我们将启动用户修改为root;另外Jenkins默认端口是8080,这个跟tomcat的默认端口冲突,我们也修改一下默认端口。

输入命令进入Jenkins配置文件

vi /etc/sysconfig/jenkins

修改完配置后,保存退出。

好了,现在配置文件也修改好了,可以启动Jenkins了。

输入启动命令以启动Jenkins服务。

service jenkins start

 

在浏览器输入ip:8088进入Jenkins登录页面。

201705250931198.png

进入登录页面后,Jenkins提示我们需要输入超级管理员密码进行解锁。根据提示,我们可以在/var/lib/jenkins/secrets/initialAdminPassword文件里找到密码。

 

输入命令以找到密码。

tail /var/lib/jenkins/secrets/initialAdminPassword

找到密码后,复制密码,粘贴到Jenkins解锁页面,点击Continue继续初始化配置。短暂的等待后,进入插件安装页面。

2017052509312010.png

这里我们点击的Install suggested plugins,安装默认插件,当然你也可以点击另一个按钮安装指定的插件。

点击后,页面进入了插件下载安装页面。

耐心等待全部安装完成。安装完成后,页面自动进入了管理员账户注册页面。自己输入信息注册吧,输入完信息点击Save and Finish。点击Start using Jenkins,进入Jenkins主页面。至此,Jenkins安装并初始化完成了

二、安装相关插件并设置全局配置

安装Maven项目插件:Maven Integration plugin 。

 

 

       

 

         点击“可选插件”  然后在右边的过滤输入框中输入搜索关键字: Maven Integration Plugin  或者 Pipeline Maven Integration Plugin ,搜索到了以后,点击直接安装

安装Publish Over SSH 插件

系统设置->插件管理->installed

jenkins使用Publish Over SSH插件实现远程自动部署

 

全局工具配置

远程SSH配置

 

 

创建jenkins发布任务

 

 

 

 

 

 

 

 

restartweb.sh 命令如下:

#web_restart.sh
#!/bin/bash
source /etc/profile
echo "Restarting SpringBoot Application"
pid=`ps -ef | grep 'java -jar web.jar' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
   echo "shutdown web success"$pid
fi


cd /usr/local/apps/java/web/
path=`pwd`
echo "current path:"$path
echo "grant permission"
chmod 777 web.jar
echo "start web"
BUILD_ID=DONTKILLME
nohup java -jar web.jar &
echo "start web end"

 

 

jenkins 解决服务器远程启动jar方法无响应的方法

 

一开始看网上有人说在调用的地方用BUILD_ID=dontKillMe,接着又有人说用daemonize守护线程,还有人说改变BUILD_ID值,也有人说在脚本开始前加上JAVA_OPTS="$JAVA_OPTS -Dhudson.util.ProcessTree.disable=true",更有甚者还干脆来了个合集,一个方法都用不了,简直崩溃(网上的大神都是复制粘贴高手

#web_restart.sh
#!/bin/bash
source /etc/profile
echo "Restarting SpringBoot Application"
pid=`ps -ef | grep 'java -jar web.jar' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
   echo "shutdown web success"$pid
fi


cd /usr/local/apps/java/web/
path=`pwd`
echo "current path:"$path
echo "grant permission"
chmod 777 web.jar
echo "start web"
BUILD_ID=DONTKILLME
nohup java -jar web.jar &
echo "start web end"

没错,就是他,在脚本最前面加上source /etc/profile,完美一切运行正常!!!!!!!!

原来在一台服务器远程链接另一台服务器的时候,即便是存在BUILD_ID=dontKillMe,必须使用source /etc/profile,使其在B终端内有效,不然默认还是A终端,导致无法正常启动。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章