CI/CD 基础:GitHub Actions 配置

CI/CD 基础:GitHub Actions 配置GitHub Actions 是 GitHub 提供的自动化平台 能够将代码的构建 测试和部署过程自动化 通过配置 YAML 文件 开发者可以定义工作流 实现持续集成 CI 和持续部署 CD 在编写配置文件前 需理解三个核心概念 Workflow 工作流 一个完整的自动化流程 配置在一个 YAML 文件中 Job 任务 工作流中的一个独立执行单元 包含多个步骤 默认情况下

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



GitHub Actions 是 GitHub 提供的自动化平台,能够将代码的构建、测试和部署过程自动化。通过配置 YAML 文件,开发者可以定义工作流,实现持续集成(CI)和持续部署(CD)。


在编写配置文件前,需理解三个核心概念:

  1. Workflow(工作流):一个完整的自动化流程,配置在一个 YAML 文件中。
  2. Job(任务):工作流中的一个独立执行单元,包含多个步骤。默认情况下,不同 Job 之间并行执行。
  3. Step(步骤):Job 中的具体操作,可以是执行命令或引用外部脚本。

它们之间的层级关系如下:


GitHub Actions 的配置文件必须存放在仓库的特定目录下。

  1. 打开 GitHub 仓库页面。
  2. 点击 Add file 按钮,选择 Create new file
  3. 输入 文件路径 .github/workflows/main.yml
    • .github 是隐藏目录。
    • workflows 是必须的子目录名。
    • main.yml 是文件名,可自定义,但后缀必须是 .yml.yaml

文件创建后,需定义该工作流的名称以及何时运行。

  1. 输入 name 字段定义名称。
  2. 输入 on 字段定义触发条件。
name: CI Pipeline

on: push:

branches: [ "main" ] 

pull_request:

branches: [ "main" ]

此配置表示:当 main 分支有代码推送或提交 Pull Request 时,自动触发工作流。


jobs 字段下定义具体的任务。

  1. 输入 jobs 字段。
  2. 定义 任务名称(如 build)。
  3. 指定 运行环境 runs-on
jobs: build:

runs-on: ubuntu-latest

runs-on 指定了虚拟机的操作系统,常用选项包括 ubuntu-latest(Linux)、windows-latest(Windows)和 macos-latest(macOS)。


在任务中通过 steps 定义执行顺序。每个步骤可以是直接运行命令,也可以引用现成的 Action。

  1. 引用 官方检出代码的 Action actions/checkout
  2. 执行 环境配置命令(如设置 Node.js)。
  3. 运行 安装依赖和构建命令。
 steps:

 - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Install dependencies run: npm install - name: Build project run: npm run build

  • uses:引用他人编写好的 Action。
  • run:直接在终端执行命令行指令。

在 CI/CD 过程中,常需使用密码或 Token 等敏感数据。严禁将这些信息直接写入代码,应使用 GitHub Secrets。

  1. 进入 仓库的 Settings 页面。
  2. 点击 左侧菜单 Secrets and variables 下的 Actions
  3. 点击 New repository secret 按钮。
  4. 输入 名称(如 API_KEY)和对应的值。
  5. 点击 Add secret 保存。

在 YAML 文件中,通过上下文变量引用:

 - name: Deploy to Server

 env: API_KEY: ${{ secrets.API_KEY }} run: | echo "Deploying with key..." # 这里执行真实的部署脚本 

”`


步骤 6:使用矩阵构建

若需在多个版本或操作系统上同时测试,可使用矩阵策略。

  1. 添加 strategy.matrix 配置。
  2. 定义 变量数组。

”`yaml jobs: test:

runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest] node: [18, 20] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - run: npm test

此配置会自动生成 4 个并行任务(2 个操作系统 × 2 个 Node 版本),极大提高测试效率。


以下为配置中高频使用的字段说明:

字段名 作用 示例值 name 工作流或步骤的显示名称 CI Pipeline on 触发条件 push, schedule runs-on 虚拟机操作系统 ubuntu-latest needs 定义任务依赖关系(顺序执行) needs: [build] env 设置环境变量 NODE_ENV: prod if 条件判断,满足条件才执行 if: success()

以下是一个包含检出代码、安装依赖、运行测试及打包的完整配置示例:

name: Full CI Flow

on: push:

branches: [ "main" ] 

jobs: build-and-test:

runs-on: ubuntu-latest steps: - name: 1. Checkout Repository uses: actions/checkout@v4 - name: 2. Setup Node Environment uses: actions/setup-node@v4 with: node-version: 20 cache: 'npm' - name: 3. Install Dependencies run: npm ci - name: 4. Run Linter run: npm run lint - name: 5. Run Tests run: npm test - name: 6. Build Artifacts run: npm run build
小讯
上一篇 2026-04-08 11:18
下一篇 2026-04-08 11:16

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/251251.html