GitHub Actions 缓存教程

GitHub Actions 缓存教程

cacheCache dependencies and build outputs in GitHub Actions项目地址:https://gitcode.com/gh_mirrors/cach/cache

项目介绍

GitHub Actions 缓存是一个开源项目,旨在帮助开发者在使用 GitHub Actions 进行 CI/CD 流程时,通过缓存依赖项和构建输出,减少重复下载和构建的时间,从而提高工作流的执行效率。该项目支持多种编程语言和工具的缓存,如 npm、Yarn、pip、Gradle 等。

项目快速启动

安装和配置

要使用 GitHub Actions 缓存,首先需要在你的 GitHub 仓库中创建一个 .github/workflows 目录,并在其中添加一个 YAML 文件(例如 main.yml)。以下是一个简单的示例,展示了如何在 Node.js 项目中使用缓存:

name: Node.js CI

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

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2

    - name: Set up Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '14'

    - name: Cache Node.js modules
      uses: actions/cache@v2
      with:
        path: ~/.npm
        key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
        restore-keys: |
          ${{ runner.os }}-node-

    - name: Install dependencies
      run: npm install

    - name: Build
      run: npm run build

关键步骤解释

  1. Checkout 代码:使用 actions/checkout@v2 检出代码。
  2. 设置 Node.js 环境:使用 actions/setup-node@v2 设置 Node.js 环境。
  3. 缓存 Node.js 模块:使用 actions/cache@v2 缓存 Node.js 模块,路径为 ~/.npm,缓存键为操作系统和 package-lock.json 文件的哈希值。
  4. 安装依赖:运行 npm install 安装项目依赖。
  5. 构建项目:运行 npm run build 构建项目。

应用案例和最佳实践

应用案例

假设你有一个使用 Yarn 作为包管理器的 React 项目。你可以通过以下步骤在 GitHub Actions 中使用缓存:

name: React CI

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

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2

    - name: Set up Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '14'

    - name: Cache Yarn packages
      uses: actions/cache@v2
      with:
        path: ~/.cache/yarn
        key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
        restore-keys: |
          ${{ runner.os }}-yarn-

    - name: Install dependencies
      run: yarn install --frozen-lockfile

    - name: Build
      run: yarn build

最佳实践

  1. 使用哈希键:确保缓存键包含文件的哈希值,以便在文件更改时自动更新缓存。
  2. 恢复键:使用 restore-keys 提供备选键,以便在缓存未命中时尝试恢复最近的缓存。
  3. 路径选择:根据项目需求选择合适的缓存路径,确保缓存的是正确的文件和目录。

典型生态项目

GitHub Actions 缓存项目可以与其他 GitHub Actions 生态项目结合使用,以实现更高效的 CI/CD 流程。以下是一些典型的生态项目:

  1. actions/checkout:用于检出代码。
  2. actions/setup-node:用于设置 Node.js 环境。
  3. actions/setup-python:用于设置 Python 环境。
  4. actions/upload-artifact:用于上传构建产物。
  5. actions/download-artifact:用于下载构建产物。

通过结合这些生态项目,你可以

cacheCache dependencies and build outputs in GitHub Actions项目地址:https://gitcode.com/gh_mirrors/cach/cache

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祖崧革

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值