前提:linux环境,jenkins服务器和springboot服务器不在一台机器。

linux环境,jenkins这里就不说了,主要说下和windows环境的不同。

1. jenkins服务器连接springboot服务器通过秘钥连接,所以需要设置免密码登录,参照:https://www.cnblogs.com/gexiaoshan/p/9404424.html

2. 在jenkins上,系统管理-系统设置里配置秘钥路径,如下图:

Passphrase:密码(key的密码,如果你设置了,没有设置的话,这里不需要填)

Path to key:key文件(私钥)的路径

Key: 秘钥

我这里只要填Path to key: /root/.ssh/id_rsa

SSH Servers配置类似,就不详述了。

3. job的配置,主要如下:

linux上的shell脚本如下:

#!/bin/bashecho "deploying $project_name..."
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
JAVA_HOME=/data/tools/jdk1.8
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export JAVA_HOME PATH CLASSPATHDEPLOY_DIR=/data/services
JAR_FILE=$3
PROJECT_NAME=$1
BUILD_NUMBER=$2
BUILD_DATE=$(date +%Y%m%d)DEPLOY_BACKUP_DIR=/data/backupecho "start create backup folders..."
if [ ! -d $DEPLOY_BACKUP_DIR ];thenmkdir -p $DEPLOY_BACKUP_DIRecho "create folder $DEPLOY_BACKUP_DIR"
fiCURRENT_BUILD_BACKUP_DIR=$DEPLOY_BACKUP_DIR/$PROJECT_NAME/$BUILD_DATE/$BUILD_NUMBER
mkdir -p $CURRENT_BUILD_BACKUP_DIR
echo "create folder $CURRENT_BUILD_BACKUP_DIR"cp $DEPLOY_DIR/$JAR_FILE $CURRENT_BUILD_BACKUP_DIR/$JAR_FILE
echo "create backup folders completed..."cd $DEPLOY_DIRmkdir -p $DEPLOY_DIR/$PROJECT_NAME
mv $DEPLOY_DIR/$JAR_FILE $DEPLOY_DIR/$PROJECT_NAME/$JAR_FILE
cd $DEPLOY_DIR/$PROJECT_NAMEecho "ps -ef | grep $JAR_FILE | grep -v grep | awk '{print $2}'"
pid=`ps -ef | grep $JAR_FILE | grep -v grep | grep -v $$ | awk '{print $2}'`
echo "current pid is $pid"
if [ -n "$pid" ]
thenecho "kill current process.pid:[$pid]"kill -9 $pid
fi#java -jar $JAR_FILE --spring.profiles.active=test > nohup.log &java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=0.0.0.0:$4,suspend=n -jar $JAR_FILE --spring.profiles.active=test -Xms256m -Xmx256m > nohup.log &
if [ $? = 0 ];thensleep 10tail -n 50 nohup.log
fiecho "deploy $PROJECT_NAME is completed."

这里启动脚本:

java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=0.0.0.0:$4,suspend=n -jar $JAR_FILE --spring.profiles.active=test -Xms256m -Xmx256m > nohup.log &

开启了一个debug端口($4:作为参数传进来的),用户测试环境上debug.

调试方式:

在idea上进行配置,如下:

Host:是springboot项目的服务器ip

Port:是上面说的debug端口号,并不是springboot项目本身的端口号。

配置好后就启动debug:

这时访问测试环境地址,就会进入本地debug。

欢迎扫码交流:

转载于:https://www.cnblogs.com/gexiaoshan/p/10147731.html

七. jenkins部署springboot项目(4)-linux环境--远程调试相关推荐

  1. 从零学习Jenkins部署SpringBoot项目

    前言 之前项目中虽然使用过 Jenkins,但是都只是使用,没有自己搭建过,完整部署一个项目.既然工作中没有独立部署过,那么就只能自己动手实操一番,技多不压身嘛. 一开始是在本机上下载安装 Jenki ...

  2. Centos7云服务器部署SpringBoot项目(手动配置环境篇)

    文章目录 前言 一.部署Tomcat服务器 1.安装JDK1.8 2.安装与启动tomcat 配置安全组(8080端口) 二.安装JDK8 三.Mysql5.7安装 1.下载mysql 2.启动MyS ...

  3. 【Linux】部署Springboot项目到Linux服务器以及linux服务器下载文件的三种方式详解

    Linux学习之路 初识Linux Linux内核 由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写 Linux 是一套免费使用和自由传播的类Unix操作系 ...

  4. springboot启动命令linux,springboot项目命linux环境下命令启动

    测试环境:dev nohup java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.su ...

  5. linux部署springboot项目

    部署springBoot项目 前言 linux创建用户和密码,在该用户下安装jdk.tomcat.部署springboot项目 一.操作步骤 1.创建用户.设置密码 adduser admin lin ...

  6. Jenkins下载安装、部署SpringBoot项目

    目录 1. Jenkins是什么 2.安装Jenkins 3.Jenkins初始化 4.简单测试Jenkins 5.Jenkins部署SpringBoot项目 5.1 Jenkins的配置 5.2 J ...

  7. 使用docker和jenkins简单部署springboot项目

    安装docker Docker 要求 CentOS 系统的内核版本高于 3.10 uname -r 3.10.0-327.el7.x86_64 安装docker yum -y install dock ...

  8. Jenkins部署maven项目找不到jar包解决

    Jenkins部署maven项目找不到jar包解决 环境部署 问题描述 解决方案 环境部署 1. centos搭建java部署环境 2. jenkins环境搭建 3. jenkins部署springb ...

  9. jenkins整合gitee自动部署SpringBoot项目

    文章目录 前提条件 一.服务器安装jenkins 方法一:简单快捷 第一步:将jenkens.war导入到系统 第二步:放在tomcat的webapp下面 第三步:访问http://ip:8080/j ...

最新文章

  1. 学习 JS navigator 对象
  2. linux gcc 宏定义 __GNUC__ __GNUC_MINOR__ 版本区分
  3. 2017.07.05 第五组 NABCD+用户原型+用户调研
  4. SortedMap接口
  5. P3698-[CQOI2017]小Q的棋盘【树形dp】
  6. sublime text3 快捷方式汇总
  7. ustc FreeBSD / rust 镜像源
  8. 解决办法:Cannot find the class file for org.apache.http.client.ClientProtocolException
  9. C++特性:封装、继承、多态
  10. 测试笔记本续航的软件,【教程向】如果给笔记本降温及延长续航
  11. 怎样屏蔽(去掉)csdn博客侧栏广告
  12. DuKBitmapImages 图片压缩处理技术
  13. 黑客教父龚蔚:扫码应用要警惕 公共WiFi攻不破支付软件
  14. 桌面右键新建菜单管理
  15. 高职单招面试自我介绍稿子计算机专业,单招面试自我介绍稿子范文
  16. 实时操作系统与分时操作系统(或称非实时操作系统)的区别
  17. 音乐服务器制作教程,让NAS做音乐服务器
  18. C++11 Prefer Locks to Mutexes(译)
  19. Thoughtworks XStream介绍
  20. ATmega2560调试记录:驱动安装、程序无法下载、波特率异常

热门文章

  1. C语言之程序中内存的来源:栈 堆 数据段
  2. React.js 基础入门四--要点总结
  3. RHEL6 安装ipvsadm-1.26
  4. Silverlight C# 游戏开发:Flyer06小小的改进让游戏更有趣
  5. ASP.NET之SqlBulkCopy
  6. 未签名的应用程序请求对系统进行无限制访问_关于JavaScript的的高速缓存未命中分析
  7. python 相关性检验怎么计算p值_生信工具 | 相关性热图还能玩出什么花样?
  8. lambda函数if_Python3中lambda表达式与函数式编程讲解
  9. bcb series清除前面的点_新iPhone前面板曝光:丑刘海还在,但边框窄了
  10. java 多线程取一条记录_java多线程从队列中取出数据执行