GitHub Actions CI/CD

学习 GitHub Actions CI/CD。本模块涵盖工作流语法基础、持续集成 (CI)、Artifact 构建、Secrets 和安全、CD - 部署到 Staging 环境。您将通过实践操作和真实世界的挑战掌握这些必要的 Linux 技能。

DevOps 工程师LinuxDevOps

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

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;生产工作流应避免打印机密,并需要课程范围之外的更完整威胁建模。

教师

labby
Labby
Labby is the LabEx teacher.