IDEA实现SpringBoot项目的自打包自发布自部署
创始人
2024-12-26 05:04:34
0

目录

前言

正文

操作背景

自发布

自部署

尾声


 

  • 🔭 Hi,I’m Pleasure1234
  • 🌱 I’m currently learning Vue.js,SpringBoot,Computer Security and so on.
  • 👯 I’m studying in University of Nottingham Ningbo China
  • 📫 You can reach me by url below:
  • My Blog Website: https://blog.yiming1234.cn 
  • My CSDN Blog: https://yiming1234.blog.csdn.net
  • My Email:Pleasure@yiming1234.cn
  • My Github:Pleasurecruise (自由的世界人) · GitHub
  • It's my pleasure to see you follow me!

原文地址:IDEA实现SpringBoot项目的自打包自发布自部署 - Pleasure的博客

下面是正文内容:


前言

最近在研究项目的打包发布以及其在生产环境下的部署

谈谈SpringBoot后端项目的自动打包,以及发布到Github Releases和部署到服务器

还是以之前的这个校园墙仓库为例

Github仓库地址:GitHub - Pleasurecruise/NottinghamWall: 宁波诺丁汉大学校园墙(个人项目,管理端已上线)

服务器端项目地址:NottinghamWall/backend at main · Pleasurecruise/NottinghamWall · GitHub

正文

操作背景

项目仓库每次进行更改更新的时候都需要重新进行打包发布非常的麻烦,所以可以用Github Action来替代这一重复的操作,实现自动化操作,提高开发效率和软件质量。

GitHub CLI(Command-Line Interface)是 GitHub 提供的一个命令行工具,旨在使用户能够从终端或命令行界面直接与 GitHub 交互。通过 GitHub CLI,用户可以执行许多在 GitHub 网站上执行的操作

Continuous Integration (CI):持续集成。开发人员频繁地将代码变更合并到主分支中,每次合并都会触发自动化构建和测试过程。这种方法能够快速发现和修复问题,确保代码库始终处于一个可工作状态。

Continuous Deployment (CD):持续部署。每次通过自动化测试的代码变更都会自动部署到生产环境中。这意味着代码一旦被提交并通过测试,就会立即被发布给用户。持续部署要求非常高的自动化测试覆盖率和严格的质量控制。

自发布

从上图可以看到在第一行的最右边就是给出的Github Action的一个示例。

下面的配置文件就是基于这个config进行了适当的更改

当然也可以自己新建一个工作流文件然后复制粘贴下面的配置文件

name: SpringBoot Built and Release on:   push:     branches:       - main     paths:       - 'backend/**' jobs:   build:     permissions: write-all     runs-on: ubuntu-latest     steps:     - uses: actions/checkout@v3     - name: Setup Java JDK       uses: actions/setup-java@v4.2.1       with:         java-version: '17'         distribution: 'temurin'         cache: maven     - name: maven-settings-xml-action       uses: whelk-io/maven-settings-xml-action@v20       with:         repositories: ''         servers: ''     - name: Build with Maven       run: mvn package -B -DskipTests --file backend/pom.xml     - name: GH Release       uses: softprops/action-gh-release@v2.0.6       with:         files: backend/wall-server/target/wall-server-*.jar         tag_name: NottinghamWall-backend-v1.0

上面的配置文件实现的主要操作:

在backend文件夹下有新的push文件的时候触发操作

  • 配置远程的maven环境
  • 将项目进行打包
  • 发布到Github Release

实现效果:

自部署

参考资料:【教程帖】 java项目更新,Springboot部署教程 - Linux面板 - 宝塔面板论坛

https://help.aliyun.com/zh/sae/user-guide/use-the-alibaba-cloud-toolkit-for-intellij-idea-plug-in-to-deploy-an-application

Cloud Toolkit 之 Command 编写指南-阿里云开发者社区

我用的是阿里云的轻量级服务器,操作过程涉及到了宝塔面板

(其实也可以通过Maven插件实现自上传但这里没有使用)

需要事先做的准备:

在本地IDEA中安装插件

在宝塔面板软件商店配备插件Redis Nginx Tomcat等

操作步骤:

①首先设置本地的自上传配置

每次执行打包操作前:由于项目蕴含多模块,所以需要将上次的父级模块执行clean install子模块执行clean package

每次执行打包后:需要对springboot项目进行重启,执行的脚本内容(restart-springboot.sh)

source /etc/profile killall java nohup java -jar /www/NottinghamWall-1.0-SNAPSHOT.jar > nohup.log 2>&1 &

②宝塔面板设置Java项目运行

在服务器上找到上传的包,我这里将打包好的jar包放置在了/www/NottinghamWall目录下

项目执行命令在选中项目jar路径后会自动生成

关于运行端口的设置自行在命令行中或者application.yml中进行解决

当看到显示项目在运行中,并且在项目日志中看到下面的内容就说明启动成功了

可能会用的到的指令:sudo lsof -i:8080 kill -9 PID

尾声

笔记总结于鄙人代码日常

相关内容

热门资讯

推荐一款!金花充值房卡新超凡/... 今 日消息,新超凡/天蝎大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更...
一分钟介绍推荐,微信链接牛牛房... 狂飙大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡...
ia攻略/金花房卡如何购买天道... 天道联盟/随意玩是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:33...
正版授权!金花房卡批发价嫦娥大... 您好!微信嫦娥大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(嫦娥大厅)大厅介绍:...
玩家必备教程,牛牛链接房卡在哪... 新众亿金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房...
科技实测!牛牛房卡制作链接蜜瓜... 今 日消息,蜜瓜大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
正版授权!金花房卡是正规的芙蓉... 正版授权!金花房卡是正规的芙蓉大厅/房卡链接怎么获取芙蓉大厅是一款非常受欢迎的游戏,咨询房/卡添加微...
普及一款,微信链接牛牛群房卡怎... 新九九牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡...
推荐一款!金花房卡官网皇豪互众... 皇豪互众/新道游是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:33...
IA解析/牛牛房卡批发平台老神... IA解析/牛牛房卡批发平台老神兽/皇豪互众/房卡在哪里购买Sa9Ix苹果iPhone 17手机即将进...
一分钟发现,微信开金花群房卡到... 微信斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡...
ia攻略/金花房卡官网新下游/... ia攻略/金花房卡官网新下游/人皇大厅/微信链接哪里购买房卡新下游/人皇大厅是一款非常受欢迎的游戏,...
正版授权!斗牛房卡充值神盾大厅... 神盾大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
ia攻略/牛牛房卡制作链接人皇... 您好!微信人皇大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(人皇大厅)大厅介绍:...
详细房卡教程,微信开金花群房卡... 青龙大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡...
头条推荐!金花房卡代理零售雷霆... 今 日消息,雷霆大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
ia攻略/怎么买斗牛房卡人海大... ia攻略/怎么买斗牛房卡人海大厅/开群怎么买房卡Sa9Ix苹果iPhone 17手机即将进入量产阶段...
一分钟了解,玩链接牛牛金花房卡... 超圣大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...
正规平台有哪些,微信金花房卡怎... 今 日消息,高朋联盟房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
重大通报,如何购买金花房卡新二... 新二号房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根据...