0

我创建了一个分四个阶段运行的 AWS Codepipeline。1) 来自 github 的源代码,2) 将后端部署到 Elastic Beanstalk,3) 使用 Codebuild 构建前端代码(使用下面的 buildspec 文件),以及 4) 将 webpack 的结果部署到 S3。

到目前为止,除了第 3 阶段的结果外,一切都按预期工作。Codebuild 似乎将工件设置为源文件,而不是 webpack 构建的结果。当我在存储桶和文件夹中查找已部署的代码时,我期望看到一系列 js 资产文件和 manifest.json。相反,我看到了项目文件。不太确定我在这里配置错了什么。

构建规范.yml

version: 0.2

phases:
  install:
    runtime-versions:
      nodejs: 12
    commands:
      - echo Installing dependencies...
      - yarn
  build:
    commands:
      - echo Building project...
      - yarn build
  post_build:
    commands:
      - echo build completed on `date`

artifacts:
  files:
    - '**/*'

cache:
  paths:
    - '/root/.npm/**/*'
    - '/node_modules/'

webpack 构建配置 在此处输入图像描述

webpack-部署配置 在此处输入图像描述

4

1 回答 1

0

经过几个小时的故障排除后,我终于能够弄清楚发生了什么。

在项目上运行yarn build会将所有内容捆绑到一个/dist文件夹中。但是,artifacts 行表明应该上传到 S3 的文件是所有项目文件。所以修复就像更新**/*dist/**/*.

于 2021-01-11T06:27:05.080 回答