⚙️
GitHub Actions 2025

CI/CD 自动化

从代码提交到生产部署全自动化——用 GitHub Actions 构建现代软件交付流水线

自动构建
测试保障
安全扫描
一键部署
10 核心章节
全栈 支持所有主流语言
3+ 云平台全覆盖

为什么要学 CI/CD?

在没有 CI/CD 的时代,软件发布是一场噩梦:手动在服务器上执行部署脚本,忘记跑测试,生产环境与开发环境不一致,"在我机器上是好的"成为最著名的程序员借口。一个功能从合并代码到上线,可能需要数天甚至数周。

GitHub Actions 彻底改变了这一切。它是 GitHub 内置的 CI/CD 平台,通过 YAML 配置文件描述自动化流程,每次 git push 就能自动触发:代码编译、单元测试、集成测试、安全扫描、容器构建、部署到云平台。整个过程无需人工干预,从代码提交到上线可以缩短到分钟级别。

本教程覆盖 GitHub Actions 的完整生态,包括 Workflow 语法、Matrix 矩阵构建、自定义 Action 开发、OIDC 无密钥云部署、Monorepo 策略等,是现代 DevOps 工程师的必备技能。

核心特性

GitHub Actions 让 DevOps 流水线触手可及

事件驱动

push、PR、定时任务、手动触发——任何 GitHub 事件都能触发工作流。

🔄

并行作业

多个 Job 并行运行,依赖关系灵活配置,大幅缩短流水线总时长。

🧪

Matrix 构建

一次配置,自动在多个 OS、多个语言版本上并行运行测试。

🔐

Secret 管理

加密存储 API 密钥、证书等敏感信息,安全注入到工作流中。

🚀

缓存加速

依赖缓存策略大幅减少重复下载,将构建时间从分钟压缩到秒级。

🛡️

OIDC 认证

无需长期密钥,通过 OpenID Connect 安全部署到 AWS/GCP/Azure。

课程目录

从 CI/CD 基础到企业级自动化,系统构建 DevOps 能力

Chapter 01

CI/CD 基础与 GitHub Actions 架构

CI/CD 发展史,持续集成/交付/部署的区别,GitHub Actions 核心概念,与 Jenkins/CircleCI 对比。

概念 架构 对比
Chapter 02

Workflow 语法:触发器、作业与步骤

.github/workflows 目录,YAML 语法,on 触发器,jobs 结构,steps 的 run 和 uses 写法。

YAML triggers jobs
Chapter 03

环境变量、Secrets 与上下文对象

env 层级(全局/job/step),secrets.XXX 安全使用,context 对象,表达式语法 ${{ }}。

secrets context 表达式
Chapter 04

矩阵构建与并行作业策略

strategy.matrix 多版本多 OS 测试,include/exclude 精细控制,fail-fast 与 max-parallel。

matrix 并行 策略
Chapter 05

自定义 Action 开发

action.yml 元数据,JavaScript Action,Docker Action,composite Action,发布到 Marketplace。

自定义Action JavaScript Docker
Chapter 06

缓存策略与 Artifacts 管理

actions/cache 原理,cache key 设计,upload-artifact/download-artifact,retention 策略。

cache artifacts 加速
Chapter 07

部署工作流:云平台与容器化

部署到 AWS/GCP/Azure,Docker Hub/GHCR 镜像推送,Kubernetes 滚动更新。

AWS Kubernetes Docker
Chapter 08

测试自动化:单元/集成/E2E

jest/pytest/go test 集成,覆盖率上传,E2E Playwright,测试报告注释 PR。

测试 覆盖率 Playwright
Chapter 09

安全实践:OIDC、权限与漏洞扫描

permissions 字段,GITHUB_TOKEN 最小权限,OIDC 无密钥云部署,CodeQL,Trivy 漏洞扫描。

OIDC CodeQL 安全
Chapter 10

高级模式:可复用工作流与 Monorepo

workflow_call 可复用工作流,组织级共享 Action,Monorepo 路径过滤,部署环境保护规则。

可复用 Monorepo 高级