当前位置: 首页 > 编程笔记 >

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

濮阳俊明
2023-03-14
本文向大家介绍详解jenkins自动部署springboot应用的方法,包括了详解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、然后就是配置部署项目的东西了。

配置从源码库拉取代码:

构建环境中勾选,代码构建的过程中会将日志打印出来

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/
nohup ${JAVA_HOME}/bin/java -jar ejoyst-bappapi-gateway.jar > /dev/null &
echo "启动成功"

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍springboot docker jenkins 自动化部署并上传镜像的步骤详解,包括了springboot docker jenkins 自动化部署并上传镜像的步骤详解的使用技巧和注意事项,需要的朋友参考一下 springboot + docker + jenkins自动化部署项目,jenkins、mysql、redis都是docker运行的,并且没有使用虚拟机,就在阿里云服务器

  • 本文向大家介绍详解springboot热启动与热部署,包括了详解springboot热启动与热部署的使用技巧和注意事项,需要的朋友参考一下 一、热启动: 每自修改后, 程序自动启动spring Application上下文。 Pom中直接添加依赖即可: 这里需要注意的是每次类文件更改后需要重新编译方可触发服务重新启动 二、热交换或热部署 这个使用springloaded插件。 1.添加依赖: 如果

  • 本文向大家介绍详解Docker+Jenkins+Gitlab+Django应用部署实践,包括了详解Docker+Jenkins+Gitlab+Django应用部署实践的使用技巧和注意事项,需要的朋友参考一下 一、背景介绍 在互联网应用快速更新迭代的大背景下,传统的人工手动或简单脚本已经不能适应此变化,此时Devops为我们提供了良好的解决方案,应用好CI/CD可以大大的方便我们的日常工作,自动化快

  • 本文向大家介绍SpringBoot应用部署到Tomcat中无法启动的解决方法,包括了SpringBoot应用部署到Tomcat中无法启动的解决方法的使用技巧和注意事项,需要的朋友参考一下 背景 最近公司在做一些内部的小型Web应用时, 为了提高开发效率决定使用SpringBoot, 这货自带Servlet容器, 你在开发Web应用时可以直接在本地像运行控制台应用一样启动,省去了重复部署的时间;配置

  • 问题内容: 我们正在尝试与Jenkins部署战争文件,但似乎什么也没有发生。 该项目已成功构建,并且我们正在使用Jenkins deploy插件。它配置有以下选项: 发布步骤设置为“无论构建结果如何运行”。 我已经检查了凭据是否正确,因为我可以访问浏览器中的管理员页面。 这是詹金斯(Maven)输出的最后一部分: 我还可以将WAR / EAR文件更改为不存在的文件,并且不会给我错误,这很奇怪。我在

  • 本文向大家介绍Jenkins自动部署Net Core过程图解,包括了Jenkins自动部署Net Core过程图解的使用技巧和注意事项,需要的朋友参考一下 目的:实现把Git测试分支中的代码发布到Linux测试环境 1、安装Jenkins。 首先需要找一台服务器安装Jenkins,我用的是Linux。启动后直接用IP+端口号访问就可以看到启动动的Jenkisn. Tips:关于Jenkins的配置