如何在 GitHub 操作中缓存 npm 依赖项?

gam*_*r17 2 github github-actions

下面是我的 dockerfile。有没有办法在 GitHub 操作中缓存 npm?

FROM node
WORKDIR /app
ADD package*.json ./
RUN npm ci
ENV PATH /app/node_modules/.bin:$PATH
Run Code Online (Sandbox Code Playgroud)

我的 GitHub 操作:

name: NPM buid

on:
  push:
    branches:
      - main
jobs:
  build-npm-image:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Build and Tag Node image
        id: build-ui-image
        run: |
          export DOCKER_BUILDKIT=1
          docker build -t ui -f ./ui/Dockerfile .
Run Code Online (Sandbox Code Playgroud)

PS 我不想缓存 docker 镜像。上面的 docker 文件仅作为示例使用。反对的是缓存 npm 依赖项

Sam*_*ton 5

这可以通过actions/setup-node@v3来实现

steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
  with:
    node-version: current
    cache: npm
- name: Build and Tag Node image
  id: build-ui-image
  run: |
    export DOCKER_BUILDKIT=1
    docker build -t ui -f ./ui/Dockerfile .
Run Code Online (Sandbox Code Playgroud)