Systems

CI/CD 入门

把构建、验证和发布变成一条可观察、可回滚的路径。

本文目录 3

生长中:当前版本先建立交付系统的基本心智模型,后续会补充制品签名与环境晋级。

一条流水线的最小职责

持续集成回答“这次变化是否仍然可以合并”,持续交付回答“这个已经验证的制品如何安全到达环境”。两者共享同一条原则:同一个输入应产生可追踪的输出。

name: verify
on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm ci
      - run: npm run build

制品优先

不要在目标服务器上重新解释源码。流水线应构建一次,把不可变制品连同提交标识送入发布阶段。回滚也应切回上一个制品,而不是现场重新构建旧提交。

可观察的失败

一个有用的失败要指出阶段、命令和上下文,同时避免输出密钥。对静态站点来说,构建检查、链接检查和发布后的 HTTP 健康检查已经能覆盖大部分风险。