Node Deploy
VS Code 扩展:把本地 Node 项目一键部署到远程 Linux 服务器(模仿 Alibaba Cloud Toolkit 的部署体验)。
功能
- 左侧活动栏面板:选择本地目录(如
dist)、目标服务器与远程目录
- SSH 密码登录(Secret Storage 存密码)
- 可选本地构建(默认
npm run build)
- 打成 zip → 上传 → 远程先清空(保留白名单)再解压(
unzip -n:已有白名单路径不覆盖)
- 解压后可执行配置中的
remoteCommands
快速开始
- 打开本扩展目录,执行:
npm install
npm run compile
F5 启动 Extension Development Host
- 在新窗口打开你的 Node 项目
- 点击左侧活动栏的 云上传图标(Node Deploy),打开侧边栏部署界面
- 在 服务器 页管理主机;点「添加」会从右侧抽出表单
- 回到 部署 页,确认本地目录与远程目录后点 开始部署
远程服务器需要已安装 unzip(多数 Linux 可用 yum install unzip / apt install unzip)。
部署流程
- (可选)本地执行构建命令
- 将本地目录打成 zip
- SSH 上传 zip 到远程目录
- 远程先清空目标目录(保留白名单与
node-deploy.log),再 unzip -n 解压(已存在的白名单路径不覆盖;缺失的会写入),并删除 zip
- (可选)执行
remoteCommands
- 日志在 Output → Node Deploy
面板说明
| 字段 |
说明 |
| 目标服务器 |
已保存的 SSH 主机;可点「添加」 |
| 本地目录 |
要打包的文件夹,默认 dist,可浏览选择 |
| 远程目录 |
解压目标路径,如 /var/www/app |
| 本地构建命令 |
部署前执行;可勾选「跳过构建」 |
| 白名单 |
会打包上传;服务器目标目录已存在则保留不覆盖,不存在则解压写入 |
| remoteCommands |
勾选后,解压完成再跑配置里的远程命令 |
「保存为默认」会把当前本地目录 / 远程路径 / 构建命令写回该服务器配置。
配置文件
工作区:.vscode/node-deploy.json
{
"servers": [
{
"id": "prod",
"name": "生产机",
"host": "1.2.3.4",
"port": 22,
"username": "root",
"remotePath": "/var/www/app",
"buildCommand": "npm run build",
"upload": {
"from": "dist",
"whitelist": [".env", "uploads", "uploads/**"]
},
"remoteCommands": [
"cd /var/www/app && ./restart.sh"
]
}
],
"defaultServerId": "prod"
}
密码不在此文件中,通过面板「添加」写入 Secret Storage。
命令
| 命令 |
作用 |
Node Deploy: Open Sidebar |
打开左侧部署侧边栏 |
Node Deploy: Deploy |
按默认配置直接部署(zip 模式) |
Node Deploy: Add Server |
引导式添加服务器 |
Node Deploy: Select Server |
选择默认服务器 |
设置
| 设置项 |
默认 |
说明 |
nodeDeploy.confirmBeforeDeploy |
true |
命令行 Deploy 前确认(面板内已跳过) |
nodeDeploy.timeoutSeconds |
120 |
SSH / 构建 / 远程命令超时(秒) |
打包安装
npm install
npm run compile
npx vsce package
生成的 .vsix 可通过「从 VSIX 安装」加载。
限制(当前版本)
- 仅密码登录
- 远程需有
unzip
- 无回滚 / Docker / 私钥登录(可后续扩展)