AWS CodeBuild 不生成构建文件夹 - NodeJS

Posted

技术标签:

【中文标题】AWS CodeBuild 不生成构建文件夹 - NodeJS【英文标题】:AWS CodeBuild not generating build folder - NodeJS 【发布时间】:2020-10-14 04:15:26 【问题描述】:

我正在尝试将网站从 Heroku 迁移到 AWS,但在使用 CodeBuild 时遇到了问题。源代码在 GitHub 上,我使用的是 CodePipeline - CodeBuild - Elastic Beanstalk。管道运行良好,似乎代码正在进入 Elastic Beanstalk。但是,我被困在 CodeBuild 步骤。 (buildspec.yml 如下)

日志似乎可以正常运行命令,但是当我将构建输出到 S3 存储桶时,没有构建文件夹。这就是我在使用 Elastic Beanstalk 时遇到的问题……它没有找到构建文件夹来呈现前端。我错过了什么??

buildspec.yml:

version: 0.2

phases: 
  install:
    commands:
      # Install Node
      - echo Installing Node 12...
      - curl -sL https://deb.nodesource.com/setup_12.x | bash -
      - apt install -y nodejs
  pre_build:
    commands:
      #install dependencies
      - echo Installing dependencies...
      - npm install
  build:
    commands:
      #build
      - echo Building...
      - npm run build
artifacts:
  files:
    "**/*"
  discard-paths: no
  base-directory: client/build

网站使用 mysql、Express、React、NodeJS 构建

【问题讨论】:

【参考方案1】:

基于buildspec.yaml reference artifacts 应该是一个数组

因此,我认为您应该将当前的 files 部分更改为:

artifacts:
  files:
    - '**/*'

【讨论】:

以上是关于AWS CodeBuild 不生成构建文件夹 - NodeJS的主要内容,如果未能解决你的问题,请参考以下文章

AWS攻略——使用CodeBuild进行自动化构建和部署静态网页

AWS CodePipeline 不遵守 CodeBuild 设置

AWS codeBuild 不运行 .ebextension 配置

使用 AWS CDK 创建用于构建 Docker 映像的 CodeBuild 项目

AWS CodeBuild 不适用于 Yarn 工作区

AWS攻略——使用CodeBuild进行自动化构建和部署Lambda(Python)