跳到主要内容

远程交互(idea使用gradle与远程服务器间的交互--发布服务与连接arthas)

v1版本更新内容 Date: 2025-10-13

  • 操作简单, 一键双击即可
  • 双击发布指定服务到指定服务器并实时显示日志
    • idea与日志打印能联动, 点击日志中的类能跳到具体的代码行
    • 异常分组功能, 目前idea只能检测以Caused by:开头的异常才进行分组
  • 双击实时显示指定服务器中的指定服务的日志
    • 日志行为idea控制台能容纳的最大行, 后续有新增日志实时滚动显示
  • 双击连接指定服务器中的指定服务的arthas

后续优化

  • arthas的交互体验, 目前只能一次性交互, 需要重新连接
    • 如何让远程服务器识别到我在idea中的gradle task console中输入的^c的mac快捷键
  • 增加远程服务器连接功能
  • 自动生成任务, 根据gradle环境属性文件生成对应环境的任务, 这样就只需要添加环境属性文件即可了
  • 看看如何把这完整的功能打成插件包, 放到阿里制品库中, 实现通过gradle依赖引入即可拥有这些功能

相关配置文件地址

使用说明

vi ~/.ssh/config

# 开发环境
Host xxx.dev.iuin
HostName 1.0.1.1
User root
IdentityFile ~/.ssh/id_ed25519_iu

# 根据项目更新`base.sh`文件中的环境变量
项目目录: LOCAL_BASE_DIR="/Users/fa/dev/projects/IdeaProjects/company/iuin/mall/private-deploy/xxx-sbbc"
远程服务地址: REMOTE_SERVER="xxx.dev.iuin"
远程服务目录前缀: REMOTE_BASE_DIR="/data/xxx"

结合gradle使用

项目根目录的build.gradle文件添加相关任务(配置已在上面提供的地址中了)

# 项目根目录执行
mkdir script
# 将上面提到的文件夹中的文件添加进去(配置已在上面提供的地址中了)
# 并在项目根目录中添加对应的配置文件与引用代码
# bash ./gradlew :pay-service:publishToTest --info
bash ./gradlew :pay-service:publishToTest

gradle task示例

结合arthas命令查看sql, Redis, es命令

参考查看sql命令地址 参考查看sql_redis_es命令地址