vite项目ci/cd核心是将本地npm run build稳定复现于托管平台,并确保构建产物生成、环境隔离与安全交付;需明确dist路径、使用npm ci保障依赖一致性、上传产物并对接静态托管或自建服务器部署。

Vite 项目做 CI/CD 自动化构建,核心是把本地 npm run build 的过程,搬到托管平台(如 GitHub、GitLab)上稳定、可复现地执行,并自动部署到目标环境。它不依赖 Vite 特有语法,而是围绕“构建产物生成 + 环境隔离 + 安全交付”展开。
明确构建目标和产物路径
Vite 默认执行 vite build 会输出静态文件到 dist/ 目录。CI 流程必须确保这个行为一致:
- 检查
vite.config.js中build.outDir是否显式设为'dist'(避免不同环境路径差异) - 确认
package.json的build脚本是"build": "vite build",不带开发参数(如--mode development) - 若需区分环境(如测试/生产),用
--mode指定,并在配置中通过import.meta.env.MODE读取,配合.env.[mode]文件管理变量
选择合适 CI 平台并写基础工作流
GitHub Actions 是最常用且与 Vite 项目天然契合的选择。一个最小可用的 .github/workflows/deploy.yml 示例:
name: Build and Deploy to Production
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci --prefer-offline
- run: npm run build
- uses: actions/upload-artifact@v4
with:
name: dist
path: dist/
关键点:npm ci 保证依赖安装可复现;--prefer-offline 提升稳定性;上传 dist/ 为后续部署提供产物。
对接部署目标:静态托管 or 自建服务器
根据发布方式选下一步动作:
-
发往 Vercel / Netlify / GitHub Pages:这些平台原生识别 Vite,只需在平台控制台指定
build命令和dist输出目录,CI 可交由它们内部完成,无需额外配置 -
部署到自建 Linux 服务器:在 CI 工作流末尾加一步 SSH 上传,例如用
appleboy/scp-action或appleboy/ssh-action,把dist/内容同步到/var/www/html等路径 -
需要清缓存或重载服务:在 SSH 步骤中追加命令,比如
sudo systemctl reload nginx或rm -rf /path/to/cache/*
增强可靠性:加入测试与环境校验
真正稳健的 CI 不止于打包成功,还要守住质量底线:
- 在
build前插入npm test(Jest + Testing Library),防止带 bug 的代码进入构建阶段 - 添加
npm run preview验证构建产物能否本地启动(可选,适合中小型项目) - 用
curl -I http://localhost:5000类似方式做轻量健康检查(需配合serve启动服务) - 敏感配置(如 API 密钥)全部走
secrets注入,绝不硬编码或提交到仓库
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











