下载工作台
Git 与团队协作

GitHub Actions 与自动化

试读上半部分 · 解锁后可读全文

第 11 章 · GitHub Actions 与自动化

本章目标:理解 push 触发 CI;会在仓库添加简单 workflow;在 Actions 页读日志、看绿勾/红叉;知 Secrets 放密钥;区分 工作台推代码云端跑流水线;Gitea 作选修。

学时建议:3~3.5 小时(含 1.5 小时跟练)

前置git-collab ch10go-devgin-web 更佳;了解 ops-deploy 可选。


11.1 场景说明:merge 了 PR,谁帮你跑测试?

你 merge 了 feature/product-filtermain。Leader 问:

单元测试跑了吗?构建能过吗?

人工每次手测不现实。CI(持续集成) = 你 push 后,GitHub 自动在干净环境里执行 go testnpm test、构建等。失败 → PR 上 红叉,提醒别合并坏代码。

你在工作台:写 workflow、改代码、commit、push

GitHub Actions:在云端跑 job,结果在 Actions 页。


11.2 学完你能

能力验收
触发关系push/PR → workflow 跑
添加 workflow.github/workflows/ci.yml
看结果Actions 页绿/红
读日志找失败步骤与报错行
安全密钥进 Secrets 不进 yml
规范CI 红时不 merge(团队)

11.3 CI 在你项目里的位置

工作台:改代码 → 审阅 → commit → push
                    │
                    ▼
GitHub:收到 push → Actions 触发 → checkout → test/build
                    │
                    ▼
PR 页:Checks 显示 ✓ 或 ✗

没 push 就没有 CI——本地测过仍要推上去看云端结果(环境可能不同)。


11.4 跟练 A:添加最小 Go CI(shop-demo / api-go-demo)

步骤 1 — 建 feature 分支

cd ~/dev-workspace/shop-demo
git checkout main
git pull origin main
git checkout -b feature/ch11-ci

步骤 2 — 创建 workflow 文件

在工作台新建:

.github/workflows/ci.yml

name: CI

on:
  push:
    branches: [main, 'feature/**']
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Set up Go
        uses: actions/setup-go@v5
        with:
          go-version: '1.22'

      - name: Test
        run: |
          if [ -f go.mod ]; then
            go test ./...
          else
            echo "no go.mod, skip"
          fi

说明

  • on.push:推 main 或 feature 时跑
  • on.pull_request:开 PR 时也跑
  • 若无 Go 模块,脚本 skip(练习仓库友好)

步骤 3 — 提交并推送

暂存 → 提交ci: add GitHub Actions workflow

推送到 GitHub

步骤 4 — 看 Actions

浏览器 → 仓库 Actions 标签 → 点最新 CI run。

你应该看到

  • 黄色进行中 → 绿色 success(或红色 failed,读日志修)

步骤 5 — 开 PR(选修)

ch09 开 PR → PR 页 Checks 应显示 CI 结果。


以下内容需解锁后阅读

试读已结束。解锁本章 ¥5.00,或开通年度会员畅读全部教程。
年度会员 ¥199.00/年; 小紫 AI 工作台有效会员 ¥99.00/年

正文仅在服务端鉴权后下发,未付费无法获取下半部分内容。