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

 更新时间:2018年08月22日 15:09:50   作者:faker  
这篇文章主要介绍了详解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包的相对路径,

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

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

相关文章

  • Java中transient关键字的详细总结

    Java中transient关键字的详细总结

    本文要介绍的是Java中的transient关键字,transient是短暂的意思。对于transient 修饰的成员变量,在类的实例对象的序列化处理过程中会被忽略,感兴趣的朋友可以参考阅读
    2023-04-04
  • Java FutureTask类使用案例解析

    Java FutureTask类使用案例解析

    这篇文章主要介绍了Java FutureTask类使用案例解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值析,需要的朋友可以参考下
    2020-04-04
  • Springboot通过请求头获取当前用户信息方法详细示范

    Springboot通过请求头获取当前用户信息方法详细示范

    这篇文章主要介绍了Springboot通过请求头获取当前用户信息的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-11-11
  • Java concurrency之AtomicReference原子类_动力节点Java学院整理

    Java concurrency之AtomicReference原子类_动力节点Java学院整理

    AtomicReference是作用是对"对象"进行原子操作。这篇文章主要介绍了Java concurrency之AtomicReference原子类,需要的朋友可以参考下
    2017-06-06
  • 解决java.lang.ClassCastException的java类型转换异常的问题

    解决java.lang.ClassCastException的java类型转换异常的问题

    这篇文章主要介绍了解决java.lang.ClassCastException的java类型转换异常的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Java动态编译执行代码示例

    Java动态编译执行代码示例

    这篇文章主要介绍了Java动态编译执行代码示例,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • SpringBoot系列教程之dubbo和Zookeeper集成方法

    SpringBoot系列教程之dubbo和Zookeeper集成方法

    这篇文章主要介绍了SpringBoot系列教程之dubbo和Zookeeper集成方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Spring Security实现接口放通的方法详解

    Spring Security实现接口放通的方法详解

    在用Spring Security项目开发中,有时候需要放通某一个接口时,我们需要在配置中把接口地址配置上,这样做有时候显得麻烦。本文将通过一个注解的方式快速实现接口放通,感兴趣的可以了解一下
    2022-05-05
  • 深入探究Spring底层核心原理

    深入探究Spring底层核心原理

    理解IOC与AOP的实现机制,优化应用性能与可维护性。Spring通过IOC容器管理Bean,AOP实现切面编程,支持事务管理、ORM框架等。深入理解Spring原理,可以帮助我们更好地使用Spring框架,提高开发效率与质量
    2023-04-04
  • Java项目中防止SQL注入的四种方案总结

    Java项目中防止SQL注入的四种方案总结

    SQL注入是一种代码注入技术,通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,下面我们就来看看如何在项目中防止SQL注入吧
    2023-10-10

最新评论