jenkins部署springboot项目jar包

jenkins部署springboot项目jar包

前言:随着互联网架构的快速发展,传统的一个war包打天下的场景逐渐被微服务所替代,而是将项目按照业务拆分成多个微服务。一般情况下微服务都是将项目打成jar包,然后部署,今天主要分享的是如何使用jenkins部署jar包,与传统的war包部署的方式还是有差异,因为部署war包只要将war包扔到tomcat中即可,而jar包需要使用java -jar xxx.jar才能运行起来

一、jenkins环境搭建

jenkins部署jar包和部署war前半部分的配置基本是一样的,如果对jenkins完全不太了解的可以参考我的另外一篇博客(jenkins+maven+svn自动部署和发布(超详细,图文并茂),上面有jenkins的环境搭建、配置等,这里就不再重述。

二、部署jar包

1、新建任务

jenkins部署springboot项目jar包

 

 jenkins部署springboot项目jar包

2、配置

jenkins部署springboot项目jar包

 jenkins部署springboot项目jar包

上面重点在于执行shell脚本,起始脚本看上去也是比较简单,stop.sh主要是停止当前的进程、startup.sh这个其实就是将jenkins生成的jar包拷贝到制定目录,然后java -jar运行而已。到这里页面上算是配置完成了,接下来看看上面三个shell脚本的内容

(1)上面执行shell的内容

#!/bin/bash
cd /home/jenkins/HelloWorld
echo "execute stop.sh shell start ..."
sh stop.sh
echo "execute stop.sh shell finish"
chmod 777 /home/jenkins/HelloWorld/startup.sh
BUILD_ID=dontiKillMe nohup /home/jenkins/HelloWorld/startup.sh &

 (2)stop.sh

#!/bin/sh
cd /home/jenkins/HelloWorld
echo "stopping helloboot application...."
pid=`ps -ef | grep helloboot-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if ["$pid" == ""]
    then
        echo "helloboot is already stop!"
else
    echo "kill -9 的pid:"+$pid
    kill -9 $pid
fi

其实就是kill掉当前的进程

(3)startup.sh

#!/bin/sh
echo "remove old helloboot.jar ..."
rm /home/jenkins/HelloWorld/helloboot-0.0.1-SNAPSHOT.jar
cp /root/.jenkins/jobs/HelloWorld/workspace/target/helloboot-0.0.1-SNAPSHOT.jar /home/jenkins/HelloWorld
sleep 2s
echo "running helloboot.jar...."
java -jar /home/jenkins/HelloWorld/helloboot-0.0.1-SNAPSHOT.jar &
echo "running helloboot finish"

亲测有效!

好了到这里配置就已经结束了,直接在界面上点击构建就行了,其实也蛮简单的,就是写shell脚本对于没写过的人来说不太会写

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111226.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微型计算机原理与接口技术网课_微机原理接口技术答案

    微型计算机原理与接口技术网课_微机原理接口技术答案spContent=课程面向有志于从事计算机过程控制系统设计、或对计算机硬件结构感兴趣的学习者。总体目标是:具备输入/输出接口控制系统软硬件初步设计能力。课程以“家庭安全防盗系统”案例引导,主要介绍:计算机基础知识、微型机基本工作原理、80×86基本指令集、汇编程序设计、存储器接口设计、接口控制技术等。——课程团队课程概述在今天的信息化时代,计算机已成为了人类工作和生活中必不可少的一部分。计算机…

    2022年10月2日
    2
  • 移动端页面适配方案(viewport)[通俗易懂]

    移动端页面适配方案(viewport)[通俗易懂]通过<metaname=”viewport”>给视口设置固定的宽度,浏览器对页面自动缩放来实现页面的适配效果优点是可以使用px布局,不用额外进行rem或者vw等等单位的换算了缺点是如果是无滚动条的页面在某些设备上(例如平板这种宽高3比4的,折叠屏8比7的)由于宽高比不同有些区域会被挤到视口之外从而导致一些体验上的问题,不过demo2也给出了解决方案;这里给两个demo,demo1是有滚动条页面的示例,demo2是无滚动条页面的示例;新建一个html文件将demo复制过去在浏览器.

    2022年6月28日
    30
  • 安装师傅最好的接单平台_安装sql server2008

    安装师傅最好的接单平台_安装sql server2008直接使用下载的.exe文件安装总是得到以下错误:“afatalerroroccurredduringinstallation失败的对象初始化…” 使了好多办法,最终采用以下blog中的方法解决: http://bidn.com/blogs/bretupdegraff/bidn-blog/223/hacking-the-sql-server-2008-r2-a…

    2025年8月30日
    4
  • JSP的七大动作和三大指令

    JSP的七大动作和三大指令JSP的七大动作和三大指令

    2022年4月22日
    34
  • 大数据理论体系

    大数据理论体系目录结构大数据是什么?大数据是如何发展起来的?大数据处理的基本流程是什么?为什么说数据不动代码动?移动计算比移动数据更划算?DAG对大数据处理有什么好处?批处理和流处理如何区分?有边界数据和无边界数据如何区分?批处理中如何提高CPU利用率?什么是事件时间和处理时间?Workflow设计模式指的什么?什么是商业智能(BI)?分布式锁是什么?如何实现?分布式事务是什么?如何实现?分布式锁和分布式事务有什么区别?CAP定理是什么?BASE理论是什么?分布式系统有哪些衡量指标?

    2022年5月10日
    43
  • temptation系列_dramatical murder攻略

    temptation系列_dramatical murder攻略投影投影是JMESPath的关键特性之一。它允许您将表达式应用于元素集合。有五种投影:列表投影切片投影对象投影展平投影过滤投影处理投影需要注意的点投影分为两个步骤。左侧(LHS)创建一

    2022年7月28日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号