node.js - AWS CodeBuild 永远转移到 S3 步骤

标签 node.js amazon-web-services amazon-s3 aws-codebuild

我为相当简单的构建管道构建了一个 CodeBuild 项目。我正在构建一个 NodeJS 项目。我的构建规范非常简单:

version: 0.2
env:
  variables:
    ENVIRNOMENT: "AWSDEV"
phases:
  pre_build:
    commands:
      - npm install
  build:
    commands:
      - npm run -s build
artifacts:
  files:
    - src/dist/**/*
    - node_modules/**/*
  discard-paths: no

npm run 构建步骤只是使用 Babel 将代码转译到 src/dist 目录中。我正在运行构建,已经过去了 37 分钟,而且仍在构建,步骤为 UPLOAD_ARTIFACTS。我可以看到工件被添加到 S3 存储桶中,因此它可能实际上仍在执行操作。

我可以做些什么来改进这个构建过程吗?我认为这应该是一个很短的任务,最多 5 分钟。我将node_modules上传到S3存储桶是否做错了什么?

Node 项目的最佳配置是什么?

最佳答案

您的 CodeBuild 项目的“工件打包”配置是否设置为“无”?将打包更改为“Zip”可能会更快,这样构建就不会花费时间将每个单独的 Node 模块文件上传到 S3。 CodeBuild 会使用 zip 打包方式来压缩所有内容并将一个 zip 文件上传到 S3。

此页面包含有关在 CodeBuild 控制台中何处查找打包设置的说明: http://docs.aws.amazon.com/codebuild/latest/userguide/change-project.html

关于node.js - AWS CodeBuild 永远转移到 S3 步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46572198/

相关文章:

node.js - 使用 devtool 协议(protocol)从嵌入式 iframe 捕获请求(XHR、JS、CSS)

javascript - Node 服务器关闭然后重新启动时的奇怪 socket.io 行为

java - 想要使用 Gradle 将存储库中的 .ebextensions (AWS Beanstalk) 目录复制到 Java jar 文件的根目录中

amazon-s3 - Amazon s3 阻止在浏览器中打开媒体 URL

java - 无法通过 SSL 使用 Amazon S3 API?

javascript - javascript 中对 undefined object 的引用

node.js - 错误: onSubmit doesn't work on reactjs jsx render method

amazon-web-services - 如何查看我的 AWS 退回电子邮件的报告?

java - AWS lambda无法发送smtp电子邮件

java - 如何将aws s3中的对象从私有(private)存储桶复制到公共(public)存储桶而不下载?