切换主题
GitHub Actions 入门指南 
字数
588 字
阅读时间
3 分钟
什么是 GitHub Actions? 
GitHub Actions 是 GitHub 提供的持续集成/持续部署(CI/CD)服务,它可以帮助你自动化软件开发工作流程。通过 GitHub Actions,你可以自动构建、测试和部署你的代码。
基本概念 
- 工作流(Workflow):自动化流程的配置文件
- 事件(Event):触发工作流的具体动作,如 push、pull request 等
- 作业(Job):工作流中的一系列步骤
- 步骤(Step):作业中的具体任务
- 动作(Action):可重用的工作单元
创建第一个工作流 
在你的仓库中创建 .github/workflows 目录,然后创建一个 YAML 文件,例如 main.yml:
yaml:.github/workflows/main.yml
name: 第一个工作流
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: 设置 Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '14'
    - name: 安装依赖
      run: npm install
    - name: 运行测试
      run: npm test工作流文件说明 
- name: 工作流的名称
- on: 触发工作流的事件
- jobs: 要执行的作业
- runs-on: 运行环境
- steps: 具体执行步骤
常用的 GitHub Actions 
- checkout: 检出代码
yaml
- uses: actions/checkout@v2- 设置开发环境:
yaml
- uses: actions/setup-node@v2
  with:
    node-version: '14'- 缓存依赖:
yaml
- uses: actions/cache@v2
  with:
    path: ~/.npm
    key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}环境变量和密钥 
在 GitHub 仓库的 Settings > Secrets and variables > Actions 中可以设置密钥:
yaml
jobs:
  deploy:
    steps:
      - name: 使用密钥
        env:
          API_KEY: ${{ secrets.API_KEY }}
        run: echo "使用 API 密钥进行部署"常见使用场景 
- 自动化测试:
yaml
- name: 运行测试
  run: |
    npm install
    npm test- 自动部署:
yaml
- name: 部署到生产环境
  if: github.ref == 'refs/heads/main'
  run: |
    npm run build
    npm run deploy- 代码检查:
yaml
- name: 运行 ESLint
  run: |
    npm install
    npm run lint最佳实践 
- 使用具体的版本号而不是 latest
- 设置超时时间避免作业运行时间过长
- 善用缓存加快构建速度
- 使用矩阵构建测试多个环境
- 合理使用 if条件控制步骤执行
调试技巧 
- 使用 actions/debug-action@v2进行调试
- 查看工作流运行日志
- 本地测试工作流(使用 act工具)
 Ryan.G
 Ryan.G