为什么 AWS CodeBuild buildspec.yml 支持多个构建阶段?

Why do AWS CodeBuild buildspec.yml support multiple build phases?

为什么构建规范文件支持多个构建阶段? install, pre_build, build, post_build?如果我将所有构建步骤放在一个阶段中,我是否做错了什么?除了保持某种结构,这些阶段有什么非常有用的东西吗?

某些阶段的失败将导致构建退出,而其他阶段则不会。这篇文章说得很清楚:https://docs.aws.amazon.com/codebuild/latest/userguide/view-build-details.html#view-build-details-phases

是的,我们可以在一个阶段(即构建阶段)完成所有事情。但不建议这样做,如果任何事情失败,将很难调试,尤其是当您的构建阶段有很多事情发生时。

  • INSTALL STAGE - 安装或升级类似 java 版本、node 版本、gatsby 等

  • PRE_BUILD - 节点模块,作曲家包..等

  • BUILD - 你的构建命令。

  • POST_BUILD - 构建后要做的事情。喜欢上传到S3.

如果您的 Build 只是一两个命令,只需单独执行 BUILD 阶段即可。

注意:上传到 s3 也可以使用 ARTIFACT 部分来完成。