宝塔面板运行SpringBoot项目+云效流水线自动更新配置分享
文章目录

为了实现Java+vue前后端分离的项目能够在合并到主分支时能自动构建+上传到服务器发布上线,使用云效codeup的流水线功能,配合宝塔面板的环境来上线项目。需要做以下配置:

首先是分库,后端项目和前端项目分两个库存储,开发都在分支上开发,合并到主支的都是可以上线的代码。代码库结构大致如图

Java项目

宝塔面板配置

在”Java项目管理“中添加项目,如图,这个项目偷懒没有env

启动命令:

/www/server/java/jdk-21.0.2/bin/java -jar  -Xmx1024M -Xms256M /www/wwwroot/resourceReservation/resourceReservation.jar

云效流水线配置

点开后端项目的仓库,选择”流水线“,创建流水线-可视化编排-空模板-创建,配置如图

流水线源

就是你后端代码的仓库,具体配置如图

Java 构建上传任务

如图

用的maven,直接打包。

执行命令部分脚本如下:

mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skip

# 成功后发送Gotify通知
curl -sSf -X POST "https://yourdomain.xyz/message?token=urtoken" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "构建成功通知",
    "message": "xxx已云构建成功",
    "priority": 4
  }' >/dev/null 2>&1 || echo "Gotify通知发送失败"

带推送通知的,不要也不影响部署

主机部署

这一步需要自己创建一个主机组,并且按照界面提示在需要部署的机器上安装Runner。设置如下:

部署脚本如下,用宝塔的java-service启停项目。偷懒没有用env

java-service resourceReservation stop

rm -f /www/wwwroot/resourceReservation/resourceReservation.jar
tar zxvf /www/wwwroot/resourceReservation/package.tgz -C /www/wwwroot/resourceReservation
java-service resourceReservation start


# 部署完成后删除不需要的文件和文件夹
rm -f /www/wwwroot/resourceReservation/package.tgz
rm -f /www/wwwroot/resourceReservation/resourceReservation.jar.original
rm -rf /www/wwwroot/resourceReservation/classes
rm -rf /www/wwwroot/resourceReservation/generated-sources
rm -rf /www/wwwroot/resourceReservation/maven-status
rm -rf /www/wwwroot/resourceReservation/maven-archiver

# 成功后发送Gotify通知
curl -sSf -X POST "https://yourdomain.xyz/message?token=urtoken" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "部署成功通知",
    "message": "xxx已更新到最新版本",
    "priority": 8
  }' >/dev/null 2>&1 || echo "Gotify通知发送失败"

点击“保存并运行”试一下吧

前端项目

宝塔面板配置

云效流水线配置

和后端项目的大差不差,流水线源的配置和后端的是一个思路

Node.js 构建

如图:

执行命令的代码:


npm install -g pnpm@10.32.1
# pnpm setup
# pnpm config set --global ignore-scripts false
# pnpm approve-builds --all

pnpm install

pnpm run build

# 成功后发送Gotify通知
curl -sSf -X POST "https://yourdomain.xyz/message?token=urtoken" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "构建完成通知",
    "message": "xxx-UI 云构建完成",
    "priority": 4
  }' >/dev/null 2>&1 || echo "Gotify通知发送失败"

主机部署

选择你需要部署的主机组

部署脚本:

rm -f /www/wwwroot/resourceReservation/frontEnd

tar zxvf /www/wwwroot/resourceReservation/UI-package.tgz -C /www/wwwroot/resourceReservation/frontEnd

# 新增:部署完成后删除不需要的文件和文件夹
rm -f /www/wwwroot/resourceReservation/UI-package.tgz

# 成功后发送Gotify通知
curl -sSf -X POST "https://yourdomain.xyz/message?token=urtoken" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "部署成功通知",
    "message": "xxx-UI 已更新到最新版本",
    "priority": 8
  }' >/dev/null 2>&1 || echo "Gotify通知发送失败"

完活,点击“保存并运行”试一下吧

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇