GitHub Actions 将仓库事件转化为在全新托管 runner 上执行的可重复任务。本实践课程使用真实 GitHub 仓库,从第一个 push 触发工作流逐步进阶到 Node.js 测试、容器发布、Secret 引用以及按顺序执行的 CI/build/deploy 流水线。
你将观察 Jest 测试成功并故意制造失败,构建 Docker 镜像并发布到 GitHub Container Registry,还会验证仓库 Secret 在日志中被遮蔽。部署实验会介绍手动触发和作业依赖,但只打印模拟命令,不会连接真实 staging 或 production 服务器。
你将学到什么
- 创建 GitHub 仓库并把工作流 YAML 放入
.github/workflows - 配置事件与手动触发、作业、托管 runner 和 Shell 步骤
- 使用 checkout 与 Node.js setup action 组合工作流
- 安装依赖、在 CI 中运行 Jest 并检查故意失败的执行
- 使用限定的软件包权限构建 Docker 镜像并发布到 GHCR
- 通过环境变量引用仓库 Secret 并验证日志遮蔽
- 建模手动部署工作流并说明其中模拟的安全检查
- 使用
needs串联ci、build和deploy作业
本课程适合谁
本中级课程适合掌握基本 Git,并希望实践编写和运行 GitHub Actions 工作流的开发者、Linux 用户和 DevOps 学习者。
前置要求: GitHub 账号,熟悉 Git 提交和推送、Linux Shell、YAML 缩进、基本 Node.js/npm 概念和入门 Docker 知识。通过 HTTPS 推送时可能需要 GitHub Personal Access Token。
学习环境: 已登录 GitHub 的浏览器,以及用于克隆和编辑公开练习仓库的 Linux 终端。工作流在 GitHub 托管的 ubuntu-latest runner 上执行,并向 GHCR 发布练习镜像。
常见问题
工作流会真的在 GitHub 上运行吗?
会。你会创建自己的 github-actions-basics 仓库并推送代码,在 Actions 页面检查执行、创建仓库 Secret,并发布容器软件包,不只是离线验证 YAML。
课程会把应用部署到真实 staging 或 production 服务器吗?
不会。部署作业只打印模拟的 SSH、拉取和重启步骤,不连接服务器、不远程运行容器,也不配置 GitHub Environment 或强制审批门禁。
课程涵盖哪些安全实践?
你会限定 GITHUB_TOKEN 的软件包权限、引用仓库 Secret 并观察日志遮蔽。实验为演示遮蔽会故意输出示例 Secret;生产工作流应避免打印机密,并需要课程范围之外的更完整威胁建模。





