Remote Deploy Helper
快速把本地前端目录上传到远程服务器,并把后端 jar 包部署到远程 Linux 服务器。
功能
使用步骤
安装完成后:
- VS Code 左侧活动栏会新增「部署助手」图标
- 点击图标,打开「部署管理」侧边栏
- 侧边栏包含「服务器」和「项目」两个分组
3. 新增服务器
- 在「部署助手」面板顶部,点击第一个
+ 按钮,选择新增服务器。
- 在弹出的表单中填写:
- 名称:自定义别名,如「生产服务器」「测试环境」。
- 地址:服务器 IP 或域名,例如
192.168.1.100。
- 端口:SSH 端口,默认
22。
- 用户名:SSH 登录用户名,例如
root。
- 登录方式:可选「密码」或「私钥」。
- 选择「密码」:填写 SSH 登录密码,保存在 VS Code Secret Storage 中。
- 选择「私钥」:
- 私钥路径:例如
~/.ssh/id_rsa,支持 ~ 路径展开。
- 私钥口令:若私钥设置了口令则填写,无口令留空。
- 点击「保存」,服务器将出现在侧边栏「服务器」列表中。
必填校验:
- 服务器名称、地址、用户名不能为空。
- 密码登录时密码不能为空。
- 私钥登录时私钥路径不能为空。
4. 新增项目
- 面板顶部点击第二个
+ 按钮,新增项目。
- 填写项目表单:
- 名称:项目别名,如「H5 前端」「后端 API」。
- 服务器:下拉选择第 3 步新增的服务器。
- 类型:
- 「前端目录」:将本地目录整体上传到远程目录。
- 「后端 JAR」:上传 jar 包并执行替换、备份、重启。
- 本地路径:
- 相对工作区根目录的路径,例如:
- 前端:
dist、dist/build/h5
- 后端:
server/target/app.jar
- 远程路径:
- 前端:服务器部署目录,例如
/www/app
- 后端:服务器目标 jar 完整路径,例如
/opt/app/app.jar
- 前端类型特有:
- 排除规则:一行一个 glob 模式,默认:
.git/**
node_modules/**
- 后端类型特有:
- 备份目录:可选,填写则在替换 jar 前备份旧包,例如
/opt/app/backup
- 服务名:配置后自动执行
systemctl restart <服务名>
- 重启命令:优先级最高,填写后直接执行该命令
- 停止命令 / 启动命令:未配置服务名和重启命令时使用
- 点击「保存」,项目将出现在侧边栏「项目」列表中。
必填校验:
5. 执行部署
部署方式:
- 直接点击侧边栏中的项目节点,立即执行部署。
- 或右键项目节点 → 选择「部署助手: 部署项目」。
部署过程中:
- 右上角通知区显示进度条与当前步骤。
- 前端:显示「已上传 N/M 文件」。
- 后端:依次执行上传 → 备份 → 替换 → 重启。
完成后:
- 右下角提示成功信息。
- 若失败会弹出错误提示,检查配置后重试。
6. 编辑与删除
侧边栏中每个服务器和项目节点都提供内联按钮:
- 编辑按钮(笔形图标):打开表单修改配置。
- 删除按钮(垃圾桶图标):确认后删除该项目/服务器。
- 也可右键节点使用对应菜单。
删除保护规则:
- 如果某个服务器仍绑定了项目,不允许直接删除。
- 需要先删除或改绑该服务器下的所有项目后,再删除服务器。
7. 后端重启命令优先级
后端项目部署完成后,重启命令按以下优先级生效:
restartCommand(自定义重启命令)
serviceName(执行 systemctl restart <serviceName>)
stopCommand + startCommand(先停后启,&& 串联)
- 都未配置:仅上传替换 jar,不执行重启
传统 settings.json 配置(命令面板方式)
除了可视化管理,也支持通过 settings.json 配置,配合命令面板执行部署:
- 打开当前工作区
.vscode/settings.json 或全局 settings,写入:
{
"remoteDeploy.server.host": "192.168.1.100",
"remoteDeploy.server.port": 22,
"remoteDeploy.server.username": "root",
"remoteDeploy.server.privateKeyPath": "~/.ssh/id_rsa",
"remoteDeploy.frontend.localPath": "dist/build/h5",
"remoteDeploy.frontend.remotePath": "/www/app",
"remoteDeploy.frontend.exclude": [
".git/**",
"node_modules/**",
"**/*.map"
],
"remoteDeploy.backend.jarPath": "server/target/app.jar",
"remoteDeploy.backend.remoteJarPath": "/opt/app/app.jar",
"remoteDeploy.backend.backupDir": "/opt/app/backup",
"remoteDeploy.backend.serviceName": "app.service"
}
- 按
Ctrl+Shift+P 打开命令面板,执行:
Remote Deploy: 上传前端目录:上传 remoteDeploy.frontend.localPath 到 remoteDeploy.frontend.remotePath
Remote Deploy: 部署后端 JAR:上传 jar、备份、替换、重启
- 后端重启命令优先级(与可视化版一致):
remoteDeploy.backend.restartCommand
remoteDeploy.backend.serviceName
remoteDeploy.backend.stopCommand + remoteDeploy.backend.startCommand
- 都未配置:仅上传替换 jar,不执行重启
常见问题排查
- 找不到扩展入口
- 确认扩展已成功安装,重新加载 VS Code 窗口(命令:
Developer: Reload Window)。
- 上传前端提示「前端目录不是目录」
- 检查本地路径是否为构建产物目录,例如
dist、dist/build/h5。
- 部署 JAR 提示「JAR 文件不存在」
- 先执行本地构建(
mvn package、gradle build 等),确认 jar 路径正确。
- 连接服务器失败
- 检查
host、port、username、密码或私钥路径。
- 私钥模式下如果私钥文件带口令,请填写「私钥口令」字段。
- 服务器删不掉
| |