一键快速发布服务:配合idea与gradle使用
v2版本更新 Date: 2025-09-19
- 当存在bootJar任务时, 优先使用bootJar打包的jar文件
- 配合gradle使用时, 不再需要配置
LOCAL_BASE_DIR环境变量, 改为了自动获取- 启动服务命令改为了systemctl(因为新版jar服务被systemctl管理了, 并且systemctl启动配置中指定了www用户启动)
- 支持指定服务的更新
- 支持更新所有服务
- 处理服务的JAR文件上传和远程启动
- 支持配合idea与gradle使用
- 双击即可发布服务到测试环境
使用说明
vi ~/.ssh/config
# 开发环境
Host xxx.dev.iuin
HostName 1.0.1.1
User root
IdentityFile ~/.ssh/id_ed25519
# 上传公钥, 开启免密登录(其实就是将公钥`~/.ssh/id_ed25519.pub`内容上传到服务器的`~/.ssh/authorized_keys`文件中, 手动复制进去也行的)
ssh-copy-id xxx.dev.iuin -i ~/.ssh/id_ed25519
# 然后, 通过ssh免密登录
ssh xxx.dev.iuin
# 根据项目更新`base.sh`文件中的环境变量
远程服务地址: REMOTE_SERVER="xxx.dev.iuin"
远程服务目录前缀: REMOTE_BASE_DIR="/data/xxx"
chmod +x base.sh
bash base.sh
结合gradle使用
项目根目录的build.gradle文件添加相关任务(配置已在上面提供的地址中了)
# 项目根目录执行
mkdir script
# 将`base.sh`和`update-service.sh`文件添加进去(配置已在上面提供的地址中了)
# bash ./gradlew :pay-service:publishToTest --info
bash ./gradlew :pay-service:publishToTest
# 或者直接在idea中直接双击这个任务即可
