javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > 前端项目部署

前端项目简单部署完整流程(只要30秒)

作者:前端之虎陈随易

对于前端部署本身,其核心目标是实现高效、稳定、自动化的应用交付,将开发完成的代码安全、快速地发布到生产环境,供用户访问,这篇文章主要介绍了前端项目简单部署的相关资料,需要的朋友可以参考下

简单部署 是一款 VS Code 扩展,用来把本地打包好的前端或静态站点一键上传到 Linux 服务器,自动备份旧代码、解压新包、替换上线,让发布流程更简单。

它能做什么

使用前提

第一次使用

  1. 点击 VS Code 左侧 Activity Bar 的 简单部署 图标,打开面板。
  2. 切换到 服务器 标签,添加你的服务器信息。
  3. 切换到 项目 标签,添加部署项目。
  4. 点击项目卡片,确认规则后点击 确认部署。
  5. 等待部署完成,复制日志或关闭面板。

扩展依赖 随易商店 进行授权管理,首次使用前需要完成授权或试用。

界面说明

面板入口

项目卡片

展示项目名称、目标服务器、部署路径,点击卡片开始部署。

服务器卡片

展示服务器名称和账号信息,支持编辑、删除。

添加服务器

  1. 打开 简单部署 面板,切换到 服务器 标签。
  2. 点击 添加服务器。
  3. 填写表单:    - 服务器名称:给服务器起个名字,方便识别,可以不填。    - Host / IP:服务器地址。    - 端口:SSH 端口,默认 22。    - 用户名:SSH 登录用户名。    - 密码:创建时必须填写;编辑时留空表示不改密码。
  4. 点击 保存。

密码会安全保存在 VS Code 内部,不会明文显示。

服务器准备工作

建议在服务器上创建一个专用部署账号,并把目标目录权限交给它:

sudo useradd -m deploy
sudo passwd deploy
sudo chown -R deploy:deploy /var/www/app
sudo chmod -R u+rwx /var/www/app

添加项目

  1. 切换到 项目 标签,点击 添加项目。
  2. 填写表单:    - 项目名称:必填,比如“官网前端”。    - 目标服务器:必填,从已保存的服务器中选择。    - 远程路径:必填,服务器上的部署目录,比如 /var/www/app。    - 前置命令:可选,部署前先在本地执行的命令。    - 上传规则:必填,要上传哪些文件或目录。    - 删除规则:可选,部署前先删除服务器上的哪些文件。    - 保留规则:可选,哪些文件即使命中删除规则也不要删。
  3. 点击 保存。

各项配置说明

远程路径

服务器上要部署到的目录。

路径是否允许
/var/www/app✅
/var/www✅
/var❌ 太短
/❌ 系统根目录
/var/www/../etc❌ 包含 ..

上传规则

用来指定哪些本地文件要上传到服务器,使用 glob 写法:

符号含义
*匹配同一层目录里的任意字符,不含 /。
**匹配任意层级的目录。
?匹配一个字符。
! 开头排除,比如 !node_modules/**。

常见写法:

注意:dist 会把整个 dist 目录上传;dist/ 或 dist/** 只上传 dist 里面的内容。

上传根目录

每条上传规则都可以指定一个上传根目录:

为什么需要上传根目录?

上传根目录决定了 zip 包内部的顶层结构。服务器解压后,文件会按照这个结构摆放。

示例:

删除规则

作用:

部署前,先把服务器上匹配的旧文件或目录删除掉,避免旧文件残留影响新版本。

适用场景:

写法示例:

规则会删除什么
assets/*删除 assets 目录下直接一层的所有文件,不删子目录。
assets/**删除 assets 目录下的所有内容,包括子目录。
index.html删除单个文件。
**/*.zip删除所有 zip 文件,不管在哪一层。

注意事项:

保留规则

作用:

告诉扩展哪些文件或目录即使命中了删除规则,也不要删除。

适用场景:

写法示例:

规则保留什么
uploads/保留 uploads 整个目录及其内容。
logo.png保留单个文件。
assets/legacy.css保留 assets 目录下的 legacy.css。
**/*.config.json保留所有以 .config.json 结尾的文件。

注意事项:

前置命令

作用:

在打包上传之前,先在本地执行一些命令,通常用来重新构建项目,确保上传的是最新产物。

适用场景:

字段说明:

字段说明
命令要在终端执行的命令,比如 bun run build。
执行目录命令在哪个目录下执行。留空表示项目根目录;填写时表示项目根目录下的子目录。

写法示例:

命令执行目录说明
bun run build留空在项目根目录执行构建,生成 dist/。
npm run build留空同上,使用 npm。
bun run compressdist构建完成后,进入 dist 目录执行压缩。
python scripts/copy_assets.py留空执行项目根目录下的 Python 脚本。

注意事项:

规则通用限制

上传规则、删除规则、保留规则、前置命令的执行目录都遵循以下限制:

这些限制是为了防止误操作和命令注入,保障部署安全。

部署流程

点击 确认部署 后,扩展会按顺序做以下事情:

  1. 准备部署:记录项目、工作区、规则等基本信息。
  2. 执行前置命令:按顺序执行本地命令,失败则终止。
  3. 压缩本地文件:把匹配的文件打包成 zip,临时放在系统 tmp 目录。
  4. 连接服务器:通过 SSH 登录服务器,并检查必须是 Linux 系统。
  5. 备份旧代码:把服务器上的旧代码打包备份到 ~/.static-deploy/.../backups/,最多保留 20 份。
  6. 上传文件:通过 SFTP 上传 zip,实时显示进度和速度。
  7. 校验并解压新包:在服务器上校验 zip 完整性,解压到临时目录。
  8. 清空旧文件:清空目标目录里的旧内容,但保留目录本身。
  9. 替换为新目录:把临时目录替换为正式的目标目录。
  10. 清理临时文件:删除服务器上的临时目录和本地的临时 zip。
  11. 部署完成:显示成功或失败结果。

部署面板介绍

部署开始后,会进入部署面板:

如果部署失败,可以从备份自动恢复,并清理临时文件。

安全提示

常见问题

部署失败提示“仅支持 Linux 服务器”

请确认目标服务器是 Linux 系统。

部署失败提示“未找到该服务器的密码”

编辑对应服务器,重新输入密码并保存。

前置命令执行失败

请先在本地终端手动执行该命令,确认可以正常运行,再检查执行目录是否正确。

上传后文件层级不对

检查上传规则。dist/** 会上传 dist 里面的内容;如果想保留 dist 这一层目录,请使用 dist。

保留规则没生效

保留规则优先级高于删除规则,但要确保规则写法能匹配到实际路径。

总结

到此这篇关于前端项目简单部署的文章就介绍到这了,更多相关前端项目部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文