七. jenkins部署springboot项目(4)-linux环境--远程调试
前提: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环境--远程调试相关推荐
- 从零学习Jenkins部署SpringBoot项目
前言 之前项目中虽然使用过 Jenkins,但是都只是使用,没有自己搭建过,完整部署一个项目.既然工作中没有独立部署过,那么就只能自己动手实操一番,技多不压身嘛. 一开始是在本机上下载安装 Jenki ...
- Centos7云服务器部署SpringBoot项目(手动配置环境篇)
文章目录 前言 一.部署Tomcat服务器 1.安装JDK1.8 2.安装与启动tomcat 配置安全组(8080端口) 二.安装JDK8 三.Mysql5.7安装 1.下载mysql 2.启动MyS ...
- 【Linux】部署Springboot项目到Linux服务器以及linux服务器下载文件的三种方式详解
Linux学习之路 初识Linux Linux内核 由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写 Linux 是一套免费使用和自由传播的类Unix操作系 ...
- springboot启动命令linux,springboot项目命linux环境下命令启动
测试环境:dev nohup java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.su ...
- linux部署springboot项目
部署springBoot项目 前言 linux创建用户和密码,在该用户下安装jdk.tomcat.部署springboot项目 一.操作步骤 1.创建用户.设置密码 adduser admin lin ...
- Jenkins下载安装、部署SpringBoot项目
目录 1. Jenkins是什么 2.安装Jenkins 3.Jenkins初始化 4.简单测试Jenkins 5.Jenkins部署SpringBoot项目 5.1 Jenkins的配置 5.2 J ...
- 使用docker和jenkins简单部署springboot项目
安装docker Docker 要求 CentOS 系统的内核版本高于 3.10 uname -r 3.10.0-327.el7.x86_64 安装docker yum -y install dock ...
- Jenkins部署maven项目找不到jar包解决
Jenkins部署maven项目找不到jar包解决 环境部署 问题描述 解决方案 环境部署 1. centos搭建java部署环境 2. jenkins环境搭建 3. jenkins部署springb ...
- jenkins整合gitee自动部署SpringBoot项目
文章目录 前提条件 一.服务器安装jenkins 方法一:简单快捷 第一步:将jenkens.war导入到系统 第二步:放在tomcat的webapp下面 第三步:访问http://ip:8080/j ...
最新文章
- 学习 JS navigator 对象
- linux gcc 宏定义 __GNUC__ __GNUC_MINOR__ 版本区分
- 2017.07.05 第五组 NABCD+用户原型+用户调研
- SortedMap接口
- P3698-[CQOI2017]小Q的棋盘【树形dp】
- sublime text3 快捷方式汇总
- ustc FreeBSD / rust 镜像源
- 解决办法:Cannot find the class file for org.apache.http.client.ClientProtocolException
- C++特性:封装、继承、多态
- 测试笔记本续航的软件,【教程向】如果给笔记本降温及延长续航
- 怎样屏蔽(去掉)csdn博客侧栏广告
- DuKBitmapImages 图片压缩处理技术
- 黑客教父龚蔚:扫码应用要警惕 公共WiFi攻不破支付软件
- 桌面右键新建菜单管理
- 高职单招面试自我介绍稿子计算机专业,单招面试自我介绍稿子范文
- 实时操作系统与分时操作系统(或称非实时操作系统)的区别
- 音乐服务器制作教程,让NAS做音乐服务器
- C++11 Prefer Locks to Mutexes(译)
- Thoughtworks XStream介绍
- ATmega2560调试记录:驱动安装、程序无法下载、波特率异常
热门文章
- C语言之程序中内存的来源:栈 堆 数据段
- React.js 基础入门四--要点总结
- RHEL6 安装ipvsadm-1.26
- Silverlight C# 游戏开发:Flyer06小小的改进让游戏更有趣
- ASP.NET之SqlBulkCopy
- 未签名的应用程序请求对系统进行无限制访问_关于JavaScript的的高速缓存未命中分析
- python 相关性检验怎么计算p值_生信工具 | 相关性热图还能玩出什么花样?
- lambda函数if_Python3中lambda表达式与函数式编程讲解
- bcb series清除前面的点_新iPhone前面板曝光:丑刘海还在,但边框窄了
- java 多线程取一条记录_java多线程从队列中取出数据执行