0Pricing
DevOps Bootcamp · 课时

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 操作会:

  1. 从 .github/workflows/ 读取相关的工作流 YAML 文件。
  2. 为每个任务初始化一个虚拟机(即运行器)。
  3. 按顺序执行任务中的每个步骤。
  4. 报告每个步骤及整个任务的状态(成功或失败)。

您可以在 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. GitHub Actions 简介
  2. 构建 CI/CD 工作流
  3. 自定义 Actions 与 Marketplace
  4. 操作中的机密与环境变量
← 返回 DevOps Bootcamp