功能特性
预览部署
了解 Virex 如何为每个拉取请求(Pull Request)自动创建预览部署,实现更快的反馈和更安全的发布。
预览部署是 Virex 最强大的功能之一。每当您打开一个拉取请求时,Virex 都会自动构建您的更改并将其部署到一个唯一的 URL,让您和您的团队在变更上线之前进行审查。
工作原理
当您向已打开拉取请求的分支推送代码时:
- Virex 通过 webhook 检测到推送事件
- 使用您分支的代码触发一次新的构建
- 构建产物被部署到一个唯一的预览 URL
- 系统会在您的 PR 上自动评论并附上预览链接
https://your-project-pr-123.virex.app
每个预览 URL 都对应一个特定的提交(commit),因此您可以并排比较不同的版本。
启用预览部署
对于连接到 GitHub、GitLab 或 Bitbucket 的所有项目,预览部署默认启用,无需任何配置。
要自定义行为,请在 virex.config.js 中添加:
export default {
previews: {
enabled: true,
// 仅为目标分支为以下分支的 PR 创建预览
targetBranches: ['main', 'develop'],
// 预览在 7 天不活跃后过期
expiration: '7d',
},
};
预览 URL
预览 URL 遵循可预测的模式:
| 类型 | URL 模式 |
|---|---|
| PR 预览 | {project}-pr-{number}.virex.app |
| 分支预览 | {project}-{branch}.virex.app |
| 提交预览 | {project}-{sha}.virex.app |
您也可以配置自定义预览域名:
export default {
previews: {
domain: 'preview.yourcompany.com',
// 结果示例:pr-123.preview.yourcompany.com
},
};
GitHub 集成
Virex 与 GitHub 深度集成,提供无缝的审查体验:
状态检查
每个预览部署都会将其状态回传到 GitHub:
- Pending(进行中) — 构建正在进行
- Success(成功) — 预览已上线并可用
- Failure(失败) — 构建失败(点击查看日志)
您可以通过启用分支保护规则,要求预览部署成功后才能合并。
PR 评论
Virex 会自动在您的 PR 上评论,内容包括:
- 预览的直接链接
- 构建时长和体积
- Lighthouse 性能评分(如已启用)
- 截图对比(如已启用)
部署事件
预览部署会显示在 GitHub 的 Deployments 选项卡中,为您提供该 PR 所有预览的完整历史。
密码保护
对于敏感项目,您可以使用密码保护预览部署:
export default {
previews: {
password: process.env.PREVIEW_PASSWORD,
},
};
或者为企业账号启用 SSO 保护:
export default {
previews: {
protection: 'sso', // 需要 Virex 登录
},
};
环境变量
预览部署使用与生产环境独立的环境变量集。可在控制台的 Settings → Environment Variables → Preview 下进行配置。
常见模式:
# 预览环境使用预发 API
API_URL=https://api-staging.yourcompany.com
# 在预览环境中禁用分析
ANALYTICS_ENABLED=false
# 使用测试支付密钥
STRIPE_KEY=pk_test_xxx
协作功能
分享预览
与没有代码仓库访问权限的利益相关者分享预览链接。他们无需 Virex 账号即可查看预览(除非启用了密码保护)。
在预览上评论
团队成员可以直接在预览部署上留下评论:
virex comment "The header looks off on mobile" --preview pr-123
评论会同步回 PR 以便查看。
视觉回归测试
启用自动截图对比,捕捉视觉回归:
export default {
previews: {
visualTesting: {
enabled: true,
pages: ['/', '/pricing', '/about'],
viewports: ['mobile', 'desktop'],
},
},
};
清理与过期
预览部署会被自动清理以节省资源:
- 已合并的 PR — 预览在合并 24 小时后删除
- 已关闭的 PR — 预览立即删除
- 过期的预览 — 超过配置的过期时间后删除
要延长预览的保留时间:
virex preview keep pr-123 --days 30
最佳实践
- 使用预览专属的环境变量 — 避免意外将测试数据发送到生产服务
- 为敏感项目启用密码保护 — 尤其是预览包含未发布功能时
- 设置视觉回归测试 — 在 CSS 问题进入生产环境前将其捕获
- 配置过期策略 — 保持预览环境整洁
故障排查
预览未更新
请确保您的分支已推送到远程:
git push origin your-branch
预览显示旧内容
清除该预览的 CDN 缓存:
virex cache clear --preview pr-123
仅在预览环境构建失败
检查预览环境变量是否配置正确。一个常见问题是:API 密钥在生产环境存在,但在预览环境缺失。