GitHub Actions 速查
共 50 条常用 GitHub Actions 写法,覆盖工作流骨架、步骤与运行命令、变量密钥与上下文、权限与安全、构建产物与发布、调试六组场景, 逐条给出写法与说明。支持搜索与分类筛选,点击写法即可复制。
工作流骨架
| 写法 | 说明 |
|---|---|
| 工作流名称,显示在 Actions 列表 | |
| 触发事件列表 | |
| 限定分支触发 | |
| 定时触发(UTC,cron 语法) | |
| 允许在网页手动触发 | |
| 定义一个 job 及运行环境 | |
| 使用自托管运行器 | |
| 矩阵,同一 job 多组合并行 | |
| job 超时上限 | |
| 限制并发,避免重复部署 |
步骤与运行命令
| 写法 | 说明 |
|---|---|
| 一个 step:名称 + 命令 | |
| 多行脚本(竖线保留换行) | |
| 使用官方 action 检出代码 | |
| 安装指定版本 Node | |
| 缓存依赖,加速构建 | |
| 给 step 命名 id,供后续引用 | |
| 按前序结果决定是否执行 | |
| 出错也继续 | |
| 指定命令工作目录 | |
| 指定解释器(Windows 上尤其有用) |
变量、密钥与上下文
| 写法 | 说明 |
|---|---|
| 工作流级环境变量 | |
| step 级环境变量 | |
| 引用仓库密钥 | |
| 当前提交哈希 | |
| 当前分支 / 标签名 | |
| 触发的事件类型 | |
| 运行器操作系统 | |
| 矩阵当前取值 | |
| 引用某步骤的输出 | |
| 写入以传递环境变量 / 输出给后续步骤 |
权限与安全
| 写法 | 说明 |
|---|---|
| 最小权限原则,收紧 GITHUB_TOKEN | |
| 关闭全部默认权限 | |
| 谨慎使用:可访问密钥,易被利用 | |
| 固定到具体版本更安全 | |
| 关联环境保护规则与审批 | |
| 引用 PR 头提交(非合并提交) |
构建产物与发布
| 写法 | 说明 |
|---|---|
| 上传构建产物供下载 | |
| 下载前序产物 | |
| 创建 Release | |
| 部署到 GitHub Pages | |
| 构建并推送镜像 | |
| 安装指定版本 Python | |
| Pages 部署前置配置 |
调试与常用片段
| 写法 | 说明 |
|---|---|
| 设为 secret 开启详细日志 | |
| 输出带定位的告警注解 | |
| 在日志中遮蔽敏感值 | |
| 按事件条件执行 | |
| 声明步骤依赖,控制顺序 | |
| 在 job 之间传递输出 | |
| 用 GitHub CLI 查看运行记录 |
使用说明
GitHub Actions 速查表:工作流结构、触发器、作业与步骤、矩阵、缓存、密钥与表达式,支持搜索、筛选与复制。
- 搜索关键字(如 on、jobs、matrix、cache)。
- 用分类标签切换主题分组。
- 点击复制按钮拷贝 YAML 片段。
常见问题
- 包含哪些触发器?
- push、pull_request、schedule、workflow_dispatch 等常用触发器。
- 密钥怎么用?
- 通过 secrets 引用仓库或环境的密钥,避免明文写入。
- 数据需要联网吗?
- 不需要,静态内容本地筛选。