详解jenkins自动部署springboot应用的方法

网友投稿 395 2023-01-23


详解jenkins自动部署springboot应用的方法

最近公司在利用jenkins自动部署springboot应用,以前别人配的那个jenkins虽说可以正常部署,但是多次反复部署之后jenkins会报错,提示内存不足:

Maven JVM terminated unexpectedly with exit code 137

原因是因为jenkins没有配置部署新的应用前先把旧的应用进程先kill掉而导致在服务器上有多个应用进程。因此自己决定摸索如何配置jenkins可以每次部署都把旧进程kill掉再启动新进程。

安装Jenkins

安装命令:

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

sudo yum install jenkins

启动/停止Jenkins:

sudo service jenkins start/stop/restart

sudo chkconfig jenkins on

安装完成后,默认端口是8080,可以在启动日志中查看管理员密码,日志路径:/var/log/jenkins/jenkins.log;

安装Jenkins后,启动Jenkins需要java环境,如果启动报错记得查看服务器是否安装了JRE;

此时还不能通过ip和端口访问Jenkins,还要配置防火墙:

vim /etc/yum.repos.d/jenkins.repo #需要root权限

#在文件中写入如下内容:

firewall-cmd --permanent --new-service=jenkins

firewall-cmd --permanent --service=jenkins --set-short="Jenkins Service Ports"

firewall-cmd --permanent --service=jenkins --set-description="Jenkins service firewalld port exceptions"

firewall-cmd --permanent --service=jenkins --add-port=8080/tcp

firewall-cmd --permanent --add-service=jenkins

firewall-cmd --zone=public --add-service=http --permanent

firewall-cmd --reload

#保存退出

firewall-cmd --list-all

到此为止,Jenkins基本安装完成了,在浏览器输入ip:prot 就可以访问了。

一、首先需要先配置好jenkins的基本配置,这些就不在这里一一详述了,只写一个Publish over SSH的

1、先安装好该插件 :Publish over SSH

2、配置如下:

点开下面的高级配置登录linux服务器的密码。

2、然后就是配置部署项目的东西了。

配置从源码库拉取代码:

构建环境中勾选Add timestamps to the Console Output,代码构建的过程中会将日志打印出来

Pre Steps和Build:

Post Steps:

Exec command中是要通过SSH去服务器上执行的脚步以及脚本文件;

Source files配置:target/xxx-0.0.1-SNAPSHOT.jar 项目jar包名

Remove prefix:target/

Remote directory: 代码应用服务器的目录地址,

Exec command:应用服务器对应的脚本。

以下是脚本文件内容:

stop.sh

#!/bin/bash

echo "stop SpringBoot BAppApiServerApplication"

pid=`ps -ef | grep ejoyst-bappapi-gateway.jar | grep -v grep | awk '{print $2}'`

echo “旧应用进程id:$pid”

if [ -n "$pid" ]

then

kill -9 $pid

fi

start.sh

#!/bin/bash

export JAVA_HOME=/usr/java/jdk1.8.0_161

echo ${JAVA_HOME}

echo "授权当前用户"

chmod 777 /opt/deploy/ejoyst-bappapi-gateway.jar

echo "执行...."

cd /opt/deploy/

nohhttp://up ${JAVA_HOME}/bin/java -jar ejoyst-bhttp://appapi-gateway.jar > /dev/null &

echo "启动成功"

构建后操作中 配置Archive the artifacts:内容是当前构建应用的jar包或者war包的相对路径,

这样可以在部署成功页面看到,可以直接点击下载:


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MyBatis实现模糊查询的几种方式
下一篇:Mabatis错误提示Parameter index out of range的处理方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~