Travis CI
GitHub 云 CI,.travis.yml、矩阵构建和简单配置。
CI/CD入门
为什么
Travis CI 简单云 CI,.travis.yml、矩阵构建和开源免费层。开创 GitHub 仓库云 CI。
何时使用
GitHub 开源项目用 Travis。私有避免(付费,GH Actions 更好)。
如何做
1. 配置 — 仓库中 .travis.yml
2. 语言 — language: node_js
3. 矩阵 — 多 Node 版本
4. 脚本 — install、script、deploy
5. 缓存 — cache: npm 依赖
6. 部署 — deploy: provider: vercel
7. 环境 — env: global 密钥
示例
# .travis.yml
language: node_js
node_js: [18, 20, 22]
cache: npm
script: [npm ci, npm test, npm run build]
deploy:
provider: script
script: npx vercel --prod --token $VERCEL_TOKEN
on: { branch: main }
env:
global:
- secure: "encrypted-vercel-token" # travis encrypt
常见问题
- ⚠构建未触发 — travis-ci.com 启用仓库
- ⚠加密密钥错 — 用 travis encrypt,非原始值
- ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致
最佳实践
- ✓用 cache: npm — 缓存 node_modules 加速构建
- ✓密钥用 travis encrypt — 永不提交原始密钥
- ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求