GitHub Actions 简介
了解 GitHub Actions 的核心概念,包括工作流、事件、作业和步骤。
GitHub Actions 简介 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。
GitHub 操作简介
欢迎学习 GitHub 操作!GitHub 的这一强大功能可以让您直接在代码仓库中自动执行任务。
您可以把它想象成专门为代码服务的机器人助手。每当您进行更改时,它都能自动构建项目、运行测试,甚至部署网站。
本课将介绍几个核心概念:工作流、事件、任务和步骤。
工作流:您的自动化蓝图
GitHub 操作的核心是工作流。工作流是一种自动运行一个或多个任务的流程。
- 工作流定义在 YAML 文件中。
- 这些文件位于代码仓库的
.github/workflows目录中。 - 每个工作流文件代表一个独立的自动化流程。
当特定事件发生时(例如推送代码),您的工作流就会启动!
工作流文件的结构
GitHub 操作工作流使用 YAML 编写。YAML 是一种便于人类阅读的数据序列化标准。下面是一个基本结构:
name: My First Workflow
on: [push]
jobs:
my_first_job:
runs-on: ubuntu-latest
steps:
- name: Greet Me
run: echo "Hello CoddyKit!"事件:自动化的触发器
事件是触发工作流运行的特定活动。它们会告诉 GitHub 操作何时开始自动化流程。
常见事件包括:
push:代码被推送到代码仓库时。pull_request:拉取请求被创建、更新或关闭时。schedule:在指定时间运行时(类似定时任务)。
您可以使用 on: 关键字在工作流文件中指定一个或多个事件。
name: On Push Example
on: [push, pull_request] # This workflow runs on push or pull request events
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Run a simple command
run: echo "Code was pushed or PR updated!"任务:有序组织的工作
任务是一组在同一个运行器上执行的步骤。工作流由一个或多个任务组成,这些任务可以并行运行,也可以按顺序运行。
- 每个任务都会在
runs-on指定的虚拟环境的新实例中运行。 - 常见的
runs-on值包括ubuntu-latest、windows-latest和macos-latest。
任务定义需要完成的工作,例如构建应用程序或运行测试。
步骤:单独的操作指令
在任务中,步骤是逐个执行的独立任务。步骤可以是:
- 命令行脚本(使用
run)。 - 操作(使用
uses)——一段可重复使用的代码。
步骤会按照定义顺序执行。如果某个步骤失败,默认情况下任务也会失败,后续步骤将被跳过。
name: Steps Demo
on: [push]
jobs:
my_job:
runs-on: ubuntu-latest
steps:
- name: Step 1: Say Hello
run: echo "Hello from Step 1!"
- name: Step 2: List files
run: ls -la
- name: Step 3: Echo another message
run: echo "Step 3 completed."操作:可重复使用的代码块
操作是自动化中最细粒度的单元。它们是用于执行特定任务的可重复使用代码。
对于常见任务,您不必编写复杂脚本,而是可以使用 GitHub Marketplace 中已有的操作,也可以创建自己的操作。
- 使用
uses:关键字引用操作。 - 操作可以来自 GitHub(例如
actions/checkout)、Docker 镜像或 JavaScript 文件。
这样可以节省时间并保持一致性!
name: Using Actions
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository code
uses: actions/checkout@v4 # This action checks out your repo
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm install构建完整工作流
现在,让我们把所学内容组合成一个可以运行的工作流示例。这个工作流只会检出您的代码并输出问候语。
您可以将此 YAML 文件保存为代码仓库中的 .github/workflows/greeting.yml。
name: Simple Greeting Workflow
on: [push] # Triggers on any push to the repository
jobs:
greet_job:
runs-on: ubuntu-latest # Runs on a fresh Ubuntu virtual machine
steps:
- name: Checkout the repository
uses: actions/checkout@v4 # Action to get your code
- name: Say hello
run: echo "Hello, GitHub Actions User!" # A simple command-line step
- name: Show current directory
run: pwd # Another command to show where we are工作流的执行方式
当事件(例如 push)发生时,GitHub 操作会:
- 从
.github/workflows/读取相关的工作流 YAML 文件。 - 为每个任务初始化一个虚拟机(即运行器)。
- 按顺序执行任务中的每个步骤。
- 报告每个步骤及整个任务的状态(成功或失败)。
您可以在 GitHub 代码仓库的“操作”选项卡中监控此过程。
快速检查:工作流组件
以下哪些是 GitHub 操作工作流文件中必不可少的组件?
回顾:GitHub 操作简介
做得很好!您已经学习了 GitHub 操作的基础概念:
- 工作流:定义在 YAML 文件中的自动化蓝图。
- 事件:启动工作流的触发器。
- 任务:在运行器上运行的一组步骤。
- 步骤:单独的命令或可重复使用的操作。
- 操作:用于常见任务的可重复使用工作单元。
接下来,我们将深入学习如何构建更实用的 CI/CD 工作流!
常见问题解答
「GitHub Actions 简介」课时是免费的吗?
是的 — 「GitHub Actions 简介」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。
「GitHub Actions 简介」这节课中我会学到什么?
了解 GitHub Actions 的核心概念,包括工作流、事件、作业和步骤。 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 DevOps Bootcamp 需要有经验吗?
无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「GitHub Actions 简介」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 DevOps Bootcamp 课中编写并运行代码吗?
能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- GitHub Actions 简介
- 构建 CI/CD 工作流
- 自定义 Actions 与 Marketplace
- 操作中的机密与环境变量