概述

githubActions核心术语

触发条件 on

+ 触发条件示例
on:
  pull_request:
    branches: [ main, develop ]

该工作流在以下情况下被自动触发:

  • 当有新的拉取请求 目标指向 maindevelop 分支时。
  • 当现有的拉取请求的目标分支是 maindevelop,并且有新的提交被推送到该拉取请求的源分支时。

任务作业 jobs

  1. 一个 workflow 由一个或多个 jobs 构成,含义是一次持续集成的运行,可以完成多个任务.
+ 作业任务示例
jobs:
  smoke-test:
    name: Smoke Test
    runs-on: ubuntu-latest
    timeout-minutes: 3
    needs: quick-check
  • name: 任务名称.
  • runs-on: 运行环境.
  • timeout-minutes: 超时时间, 该作业必须在 3 分钟内完成.
  • needs: 依赖关系, 表示这个作业只有在 quick-check 作业成功完成后才会运行.

步骤 steps

+ 步骤分解示例
steps:
  - name: Checkout code
    uses: actions/checkout@v4

  - name: Setup Python
    uses: actions/setup-python@v5
    with:
      python-version: '3.10'

  - name: Install uv package manager
    run: |
      curl -LsSf https://astral.sh/uv/install.sh | sh
      echo "$HOME/.cargo/bin" >> $GITHUB_PATH
  • name: 步骤名称.
  • uses: 调用某个现成的 Action, 这些工具(Actions)通常来自 GitHub Marketplace 或 GitHub 官方维护的仓库.
  • with: 调用这个现成的 Action 时,传递这些参数.
  • run: 执行你自己的命令. 执行多条命令,可以用 | 写成多行.

参考链接

  1. Workflow syntax for GitHub Actions.