GitHub 操作上传工件未从 npm 运行 构建中找到提供的路径

GitHub Actions Upload Artifact not finding provided path from npm run build

我正在尝试使用 CICD 原则建立一个 React 网站。我可以在本地 运行,使用 'npm run build' 获取构建文件夹,当我手动将文件推送到 S3 时,网站工作正常。但是,当我尝试通过 github 操作 运行 构建和部署时,上传工件步骤给出以下警告: 'Warning: No files were found with the provided path: build. No artifacts will be uploaded.' 显然部署作业随后失败,因为它找不到任何要下载的工件。为什么会这样?自从 运行ning ls 在构建将其列为当前工作目录中的文件夹之一后,肯定正在创建构建文件夹。

name: frontend_actions
on:
  workflow_dispatch:
  push:
    paths:
      - 'frontend/'
      - '.github/workflows/frontend_actions.yml'
    branches:
      - master
defaults:
  run:
    working-directory: frontend
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-node@v2
    - name: npm install
      run: npm install
    - name: npm build
      run: npm run build
      env:
        CI: false
    - name: Upload Artifact
      uses: actions/upload-artifact@master
      with:
        name: build
        path: build
  deploy:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Download Artifact
        uses: actions/download-artifact@master
        with:
          name: build
          path: build
      - name: Deploy to S3
        uses: jakejarvis/s3-sync-action@master
        with:
          args: --acl public-read --follow-symlinks --delete
        env:
          AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          AWS_REGION: 'us-west-2'   # optional: defaults to us-east-1
          SOURCE_DIR: 'build'   # optional: defaults to entire repository

事实证明,我对 github 操作的了解是不完整的。为作业设置默认工作目录时,默认目录仅供使用 'run' 的命令使用。因此,所有 'uses' 操作都在基目录中 运行。我想我从来没有遇到过这个问题,因为我从未尝试过 uploading/downloading 不是在基础 github 目录中创建的工件。

通过将路径从 'build/' 更改为 'frontend/build' 解决了问题。