Skip to content

GitHub Actions 是 GitHub 提供的持续集成服务,可以自动构建、测试和部署代码。`

它能够定义具体的触发时机和触发条件,当满足条件时,就会自动执行定义的步骤。

详见GitHub Actions 入门教程——阮一峰

该配置通常定义在 .github/workflows 目录下,譬如有 .github/workflows/build-and-deploy.yml

yml
name: Build and Deploy

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

permissions:
  contents: write

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [16.13.0]

    steps:
    - name: Checkout
      uses: actions/checkout@v4

    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v3
      with:
        node-version: ${{ matrix.node-version }}

    - name: Build
      run: |
        npm install
        npm run build
    
    - name: Deploy
      uses: JamesIves/github-pages-deploy-action@v4
      with:
        folder: dist

以上的 yml 配置,当推送到 main 分支或者合并 PRmain时,就会自动执行 BuildDeploy 两个步骤。

其中 Build 步骤指定了使用 Node.js 16.13.0,并执行了 npm installnpm run build 命令。

Deploy 步骤使用了 JamesIves/github-pages-deploy-action 插件,将 dist 目录下的文件部署到 GitHub Pages

TIP

permissions: contents: write 指令表明该工作流可以修改仓库的内容。

配合 JamesIves/github-pages-deploy-action 插件,可以免设置 GitHub Access Token