花30分钟,用Jenkins部署码云上的SpringBoot项目

码云(Gitee)使用方法 码云(Gitee)使用方法,Git 码云 团队写作 团队开发 代码管理 git使用方法 阅读详情
小Hub领读:

持续交付的概念,相信你们都听过,jenkins鼎鼎大名,这个工具真是太方便了,特别是配置了自动化构建和部署之后,不管是对测试,还是对运维都帮助特别大。你懂得怎么自动化部署一个springboot项目吗,来跟着走一遍吧!

ps:如果图片不清晰,记得看原文链接哈~


作者:dalaoyang

https://juejin.im/post/5be1a485f265da612859974c

本文介绍 jenkins 如何从 gitee 上 clone 项目,然后使用 maven 打包并后台启动。

1.Jenkins 介绍

Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 (以上介绍来源于百度百科)

其实通俗来说,Jenkins 就是一个自动化部署项目的工具,帮我省去重复的运维工作。

2. 环境准备

本文需要如下几个工具:

  • JDK

  • Git

  • Maven

以上三种就不在这里介绍安装了,这里我贴出我的环境变量配置仅供参考:

  • Jenkins

我的 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

启动

service jenkins start

然后访问 http://${ip}/8080,可以看到 jenkins 那个小老头,根据自行配置安装插件,其中密码在这里

vi /var/lib/jenkins/secrets/initialAdminPassword

以上都在网上有很多,我在博客中也写过,就不在这里废话太多了。

3.Jenkins 工具插件配置

3.1 插件配置

个人建议,Jenkins 第一次进入推荐安装的插件就默认安装就行,省的还需要后续自己安装,当然,如果自己安装的话需要 Maven 和 Git 插件。

3.2 工具配置
  • JDK

  • Git

  • Maven

这里就可以用到上面环境准备时需要的截图,这里我也摸索了很久才配置完成。

4. 配置项目

4.1 构建自由风格的项目

新建项目,选择构建自由风格的项目,给项目起个名字,然后点击 Ok。

4.2 配置参数化构建过程

这里我用到了几个参数,因为可能有时需要提前准备好参数在进行构建,如下图:

  • jar_path : 本意是准备项目打包后的 jar 位置,其实这里是 Jenkins 工作空间

  • spring_profile:这个是读取配置文件前缀,比如 dev,test,prod

  • jar_name:jar 包名称

  • project_name:项目名称

4.3 Git 配置

用 Git 进行将项目 Clone 下来,配置自己的用户密码,Repository URL 配置 git 地址(这里提供的地址是私密项目,项目没什么特别的,就是简单 SpringBoot 项目,不用尝试了,用自己项目就可以)

4.4 配置 Build

这里选择执行 Shell,内容如下:

mvn clean install -Dmaven.test.skip=true
echo $spring_profile $jar_path $jar_name
cd /usr/local/shell/
./stop.sh $jar_name
echo "Execute shell Finish"
./startup.sh $spring_profile $jar_path $jar_name $project_name

如图:

在上面执行的 Shell 里面还用到了两个 Shell,分别是 stop.sh,实质就是找到 jar 执行的 pid,然后 kill,具体内容如下:

jar_name=${1}
echo "Stopping" ${jar_name}
pid=`ps -ef | grep ${jar_name} | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi

startup.sh 内容如下,具体可以根据情况修改:

spring_profile=${1}
jar_path=${2}
jar_name=${3}
project_name=${4}
cd ${jar_path}/${project_name}/target/
echo ${jar_path}/${project_name}/target/
echo nohup java -jar ${jar_name} &
BUILD_ID=dontKillMe nohup java -jar ${jar_name} --spring.profiles.active=${spring_profile} &

5 测试运行

5.1 运行

点击运行后,如图所示,刚刚预配置的参数都可以看到并可以修改,这里我们用默认配置好的就可以。

然后点击运行就可以,当时遇到了一个插曲,我的 Maven 是安装成功的,但是 Jenkins 内无法使用,报错 mvn:command not found,这里我解决的方式是将 mvn 命令也指向 / usr/bin/mvn,如下:

ln -s /usr/local/apache-maven-3.5.4/bin/mvn /usr/bin/mvn

访问效果其实就是我的博客,如图所示:

6 总结

总体过程坑其实还是很多的,毕竟没有使用过,但是没有什么特别棘手的问题,总是出现不同的问题,有需要可以与我一起交流学习。

原文链接:https://juejin.im/post/5be1a485f265da612859974c


(完)

MarkerHub文章索引:(点击阅读原文直达)

https://github.com/MarkerHub/JavaIndex
【推荐阅读】
只需要6个步骤,springboot集成shiro,并完成登录
eblog项目讲解视频上线啦,长达17个小时!!
SpringBoot整合redisson实现分布式锁
极简入门,Shiro的认证与授权流程解析

好文!必须点赞

告别Jenkins复杂配置:用Easy-Jenkins在Windows本地5分钟搞定SpringBoot+Vue项目部署 本文介绍了如何使用Easy-Jenkins在Windows本地快速部署SpringBoot+Vue项目,5分钟内完成配置和部署。相比传统Jenkins,Easy-Jenkins无需复杂配置,内置Java和Maven支持,提供图形化界面和分支隔离功能,极大提升开发效率。特别适合独立开发者和小型团队使用。 阅读详情

相关推荐

告别繁琐配置!用Easy-Jenkins在Windows上5分钟搞定SpringBoot+Vue项目本地部署

本文介绍了如何使用Easy-Jenkins工具在Windows上快速部署SpringBoot+Vue项目,5分钟完成本地开发闭环。通过对比传统Jenkins的复杂配置,Easy-Jenkins显著降低了部署门槛,支持多环境管理,提升开发效率。特别适合中小型项目和个人开发者使用。

weixin_30911451的博客 610

linux后台运行 nohup java -jar ${jarName} > /log/${jarName}_all.log 2>&1 &

linux后台运行nohub &

【小石头的茅坑】 71万+

从零到一:基于Jenkins Pipeline的SpringBoot项目自动化部署流水线实战

本文详细介绍了如何从零开始构建基于Jenkins Pipeline的SpringBoot项目自动化部署流水线。通过实战案例,展示了自动化部署在效率提升、错误减少和流程标准化方面的核心价值,并提供了环境准备、Pipeline设计、高级部署模式和效能提升的全方位指南。

weixin_42535703的博客 417

2021-03-31

部署springBoot项目到服务器步骤项目进行打包部署项目 项目进行打包 1.点击项目–Run As–Maven build… 2.输入命令clean compile package 3.控制台出现BUILD SUCCESS打包成功 部署项目 1.把图片中圈起来的上传到需要部署的服务器文件中 2.复制start-jar.sh里面的命令 java -jar -Dloader.path=config,lib ectip.jar 直接启动jar文件,在当前会话进程中开启一个子进程来运行程序,这个子进程

GraceZhangC的博客 464

ANSYS APDL 后处理:用*GET和ETABLE命令把节点/单元应力结果导出到TXT文件(附完整命令流)

本文详细介绍了在ANSYS APDL中使用*GET和ETABLE命令导出节点和单元应力数据到TXT文件的完整方案。通过节点解和单元解的核心逻辑分析,提供了从基础到进阶的数据导出方法,包括节点应力、单元应力数据的提取与格式化输出,以及高级技巧如选择性导出与数据过滤。帮助工程师高效完成有限元分析后处理工作。

weixin_26805597的博客 635

Wio-LR1121多频段LoRa模块技术解析与应用实践

LoRa技术作为低功耗广域物联网(LPWAN)的核心通信方案,通过独特的扩频调制技术实现远距离传输与强抗干扰能力。其工作原理基于CSS(Chirp Spread Spectrum)调制,支持动态调整扩频因子(SF)和带宽(BW)来平衡传输距离与数据速率。Wio-LR1121模块作为Semtech LR1121芯片的载体,创新性地整合了sub-GHz、S-Band和2.4GHz多频段支持,配合仅1.35μA的睡眠电流,为跨境物联网部署提供了硬件基础。在智慧农业、工业监测等场景中,开发者可通过SPI接口快速集成

weixin_33742618的博客 417

Jenkins 详细部署

Jenkins是一个可扩展的持续集成引擎。持续集成,就是通常所说的CI(ContinuesIntegration),可以说是现代软件技术开发的基础。持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。...

m0_63674789的博客 2万+

abaqus 6.13安装(ubuntu 16.04LTS)

1。从iso将文件拷贝出来 2。chmod 777 -R ./* 给文件权限 3。sudo /home/xx/A/setup 4。安装licenseserver 5。拷贝lic,log文件 6。打开license sudo ./lmgrd -c path 7. 27011@xx or 27011@localhost ...

a1099313374的博客 1950

jenkins部署springboot项目

1)概念Pipeline,简单来说,一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点 的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。2)使用Pipeline有以下好处(来自翻译自官方文档):代码:Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流 程。持久:无论是计划内的还是计划外的服务器重启,Pipeline都是可恢复的。可停止:Pipeline可接 收交互式输入,以确定是否继续执行Pipeline。

有时间就写写代码 3792

BRepNet与图神经网络融合:提升3D CAD加工特征识别的精度与泛化能力

本文探讨了BRepNet与图神经网络(GNN)融合技术如何显著提升3D CAD加工特征识别的精度与泛化能力。通过将CAD模型视为图结构,利用GNN的消息传递机制增强对复杂拓扑关系的理解,并结合BRepNet的局部特征提取,该融合方法在MFCAD++数据集上实现了高达99.53%的准确率,有效解决了传统方法在处理复杂相交特征时的局限性,为智能制造提供了关键技术支撑。

android的专栏 778

vasp计算练习1-Si

si的vasp训练流程

qq_41074165的博客 3302

jenkins 构建前执行shell_花30分钟,用Jenkins部署码云上的SpringBoot项目

持续交付的概念,相信你们都听过,jenkins鼎鼎大名,这个工具真是太方便了,特别是配置了自动化构建和部署之后,不管是对测试,还是对运维都帮助特别大。你懂得怎么自动化部署一个springboot项目吗,来跟着走一遍吧!本文介绍 jenkins 如何从 gitee 上 clone 项目,然后使用 maven 打包并后台启动。1.Jenkins 介绍Jenkins 是一个开源软件项目,是基于 Java...

weixin_42512183的博客 218

【生成C01/C10材料常数excel表】

计算橡胶件的邵尔硬度和C01/C10材料常数

weixin_46153372的博客 1935

springboot中为何参数拿对象接收总是报错_花30分钟,用Jenkins部署码云上的SpringBoot项目...

点击上方蓝色字关注我们~持续交付的概念,相信你们都听过,jenkins鼎鼎大名,这个工具真是太方便了,特别是配置了自动化构建和部署之后,不管是对测试,还是对运维都帮助特别大。你懂得怎么自动化部署一个springboot项目吗,来跟着走一遍吧!本文介绍 jenkins 如何从 gitee 上 clone 项目,然后使用 maven 打包并后台启动。1.Jenkins 介绍Jenkins 是...

weixin_39639174的博客 90

视觉Transformer实战 | Token-to-Token Vision Transformer(T2T-ViT)详解与实现

Vision Transformer (ViT) 在计算机视觉领域取得了巨大成功,但标准的 ViT 存在一些局限性,如需要大规模预训练数据、对局部结构建模不足等。Token-to-Token ViT (T2T-ViT) 通过引入渐进式分词过程改进了原始 ViT,使其能够在中小型数据集上取得更好的性能。本节将详细介绍 T2T-ViT 的技术原理,并使用 PyTorch 从零开始实现 T2T-ViT。

盼小辉丶的博客 4万+

【论文复现】——基于欧式聚类的车载点云道路提取

针对车载激光点云道路信息提取的问题,提出了一种基于欧式聚类的道路提取方法。首先通过统计滤波去除噪点以免对后续处理结果产生影响,然后用坡度滤波去除路坎点,使道路边界与人行道、绿化带等与路坎相连的地物形成10~25 cm的高程阶跃,最后用欧式聚类将路面点云与其他地物点云聚类为一簇或多簇并保留道路簇,从而实现道路点云的精确提取。

点云侠的博客 1135

Jenkins 部署SpringBoot项目

Jenkins 部署SpringBoot项目 1、创建新的项目视图 点击左侧最上方的【新建任务】,输入一个任务名称,选择一个项目类型(假设我们选择的是【构建一个maven项目】),勾选添加到当前视图,点击ok,进入任务配置页面 2、任务的配置-general 3、任务的配置-源码管理 1.勾选【Subversion】 2.在【Repository URL】中填写SVN的地址 3.选择一个有权限的SVN账号 4、任务的配置-构建触发器 1.可以勾选【定时构建】设置定时构建 #每天8点定时构建 定时

weixin_45552405的博客 665

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

从零到一:RuoYi项目Jenkins自动化部署全流程

你还在手动打包部署RuoYi系统?频繁的版本迭代让你疲于应对重复操作?本文将带你搭建一套完整的Jenkins CI/CD流水线,实现代码提交即自动部署,10分钟上手,彻底解放双手! 读完本文你将获得: - Jenkins环境快速搭建指南 - RuoYi项目自动化构建配置 - Docker容器化部署最佳实践 - 一键回滚的应急处理方案 ## 环境准备清单 | 组件 | 版本要求 | 作用 | ...

gitblog_01165的博客 1196

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: 我把SpringBoot的banner换成了美女,老板说工作不饱和,建议安排加班
下一篇: 同是5年Java开发,为什么别人38k,你18k?
Java思维导图
博客等级 码龄10年 306粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值