记录jenkins如何部署springboot项目(jar类型的)

一、首先需要先配置好jenkins的基本配置(jdk、maven……),可在系统管理——>>全局工具配置中进行配置。

配置ssh内容:

           在系统管理-》系统设置里,找到Publish over SSH(需要安装Publish over SSH插件)
 
 
2、然后就是配置部署项目的东西了。
 
 构建环境中勾选Add timestamps to the Console Output,代码构建的过程中会将日志打印出来
 
 
 Post Steps 配置:
     选择如下:

Transfer SetSource files:表示要上传的本地的war包及路径,可到工作空间去看

Remove prefix:表示要上传时要去除的文件夹。即仅仅上传war包

remote driectory:即表示运行时的路径,相当于把war包上传到这里了,这个很重要,跟上面构建后操作的Remote Directory是会合并到一起的,比如我上面构建后操作中配置的RemoteDirectory是/home/rhel7/Jenkins-in/tmp,然后这边远程服务器的Remote Directory配置的是/,那么war包传输过去路径是/home/rhel7/Jenkins-in/tmp目录。

exec commad:要运行的命令

配置Exec command:

  cd /home/rhel7/Jenkins-in/
echo "Execute shell Start"
sh stop.sh
sh replace.sh
echo "Execute shell Finish"
chmod 777 /home/rhel7/Jenkins-in/startup.sh
BUILD_ID=dontKillMe nohup /home/rhel7/Jenkins-in/startup.sh &

三个脚本为:

1. stop.sh

# stop.sh
#!/bin/bash
JARFILE=jenkins-demo-0.0.1-SNAPSHOT.jar cd /home/rhel7/Jenkins-in
echo "Stopping SpringBoot Application"
ls pid=`ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ];then
echo "kill -9 的 pid:"$pid
kill -9 $pid
fi
echo "清除进程已完成"

2.replace.sh

#!/bin/bash
# 打包好的项目名称
JARFILE=jenkins-demo-0.0.1-SNAPSHOT.jar
# 编译好的 jar存放地址
file_path=/home/rhel7/Jenkins-in/tmp
# 将现有的 jar 备份后,将新的 jar 替换
file=/home/rhel7/Jenkins-in/jenkins-demo-0.0.1-SNAPSHOT.jar if [ -f "$file" ];then
mv /home/rhel7/Jenkins-in/jenkins-demo-0.0.1-SNAPSHOT.jar /home/rhel7/Jenkins-in/backup/jenkins-demo-0.0.1-SNAPSHOT.jar.`date +%Y%m%d%H%M%S`
fi cp $file_path/jenkins-demo-0.0.1-SNAPSHOT.jar /home/rhel7/Jenkins-in/
# 删除老旧的备份项目
cd /home/rhel7/Jenkins-in/backup
ls -lt | awk 'NR>5{print $NF}' | xargs rm -rf

3.startup.sh

#!bin/bash
export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
echo ${JAVA_HOME}
echo "授权当前用户"
chmod 777 /home/rhel7/Jenkins-in/jenkins-demo-0.0.1-SNAPSHOT.jar
echo "执行...."
nohup ${JAVA_HOME}/bin/java -jar /home/rhel7/Jenkins-in/jenkins-demo-0.0.1-SNAPSHOT.jar > /dev/null &
echo "启动成功"

Jenkins部署springboot项目的更多相关文章

  1. 五. jenkins部署springboot项目(2)--windows环境--服务

    前提:jenkins和springboot运行在同一台机器 springboot 通过winsw部署为服务 winsw 下载地址:https://github.com/kohsuke/winsw/re ...

  2. 七. jenkins部署springboot项目(4)-linux环境--远程调试

    前提:linux环境,jenkins服务器和springboot服务器不在一台机器. linux环境,jenkins这里就不说了,主要说下和windows环境的不同. 1. jenkins服务器连接s ...

  3. 四. jenkins部署springboot项目(1)--window环境

    前提:jenkins和springboot运行在同一台机器 springboot项目使用git和maven jenkins所需的插件如Maven,Git等这里就不再详述. 1.jenkins配置git ...

  4. 六. jenkins部署springboot项目(3)--windows环境--远程windows server服务器

    前提:jenkins服务器和windows server服务器不在一台机器上 对于jenkins服务器上编译好的jar或war包如何推送到windows server服务器上. 参照网上的,在wind ...

  5. jenkins部署web项目到webogic

    注: Docker容器里安装的jenkins,Docker容易里安装的weblogic 在jenkins里面直接将打包好的 war 包通过 Publish over SSH插件 放入 weblogic ...

  6. SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1

    在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...

  7. docker部署springboot项目

    本文介绍一下docker如何部署springboot项目. 前提条件: 1.可以运行jar包的环境 2.机器上已经安装了docker 3.准备部署的springboot的jar包 4.Dockerfi ...

  8. jenkins部署java项目,脚本文件放在远程仓库中 和jar一起打包(六)

    jenkins部署java项目到远程linux上,脚本文件和项目一起上传到gogs上,直接执行gogs上的脚本文件来执行项目 (1)新建maven项目 pom.xml的配置 <project x ...

  9. Jenkins部署Web项目到远程tomcat(通过jenkins插件)

    之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...

随机推荐

  1. ArrayList之SubList源码解析

    subList是ArrayList的内部类, public List<E> subList(int fromIndex, int toIndex) { subListRangeCheck( ...

  2. [leetcode]79.Search Word 回溯法

    /** * Given a 2D board and a word, find if the word exists in the grid. The word can be constructed ...

  3. CentOS 8 安装mysql8.0.21

    1.使用dnf安装mysql(遇到暂停按y)dnf install @mysql 2.安装完成使用下面命令启动MySQL服务systemctl enable --now mysqld 3.查看服务是否 ...

  4. springboot中数据库的连接

    mysql5.0 1.#mysql数据库连接 2.spring.datasource.driver-class-name=com.mysql.jdbc.Driver   3.spring.dataso ...

  5. 树莓派4B智能小车机器套件——入手组装实验记录

    树莓派4B智能小车机器套件--入手组装实验记录 4WD智能小车(4WD SMART ROBOT KIT),支持Arduino.51.STM32.Raspberry Pi等4个版本.本套件采用的是树莓派 ...

  6. 小米11和iphone12参数对比哪个好

    小米11:搭载最新一代三星的AMOLED屏幕,120Hz屏幕刷新,iPhone12使用全新一代的视网膜屏,6.1英寸屏幕,支持60Hz屏幕刷新,支持HDR显示,P3广色域小米手机爆降800 优惠力度空 ...

  7. 杭电OJ1062---Text Reverse(c++)(C++库getline的使用)

    Text Reverse Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot ...

  8. Angular入门到精通系列教程(7)- 组件(@Component)基本知识

    1. 概述 2. 创建Component 组件模板 视图封装模式 特殊的选择器 :host inline-styles 3. 总结 环境: Angular CLI: 11.0.6 Angular: 1 ...

  9. 【SpringBoot】Spring Boot,开发社区讨论交流网站首页。

    初识Spring Boot,开发社区讨论交流网站首页. 文章目录 初识Spring Boot,开发社区讨论交流网站首页. 1.项目简介 2. 搭建开发环境 JDK Apache Maven Intel ...

  10. 【Oracle】userenv()函数介绍分析

    说到这个userenv()使用起来还是很有用的 参数   功能 CLINET_INFO                                      返回最高可达64个字节存储的用户会话信 ...