【问题标题】:How to build to Dev/Test/Prod with AWS CodeBuild如何使用 AWS CodeBuild 构建开发/测试/产品
【发布时间】:2017-10-13 00:39:22
【问题描述】:

我在 AWS CodeCommit 中托管了一个存储库,其根目录中有 buildspec.yml,AWS CodeBuild 使用该存储库从源代码构建。

是否可以传入变量/读取源(AWS Pipeline arn?)或类似的东西,以便我可以在 AWS CodeBuild 中确定是进行开发、测试还是产品构建?

如果没有,是否有另一种方法可以在我缺少的 AWS CodePipeline 中完成此任务?

【问题讨论】:

    标签: amazon-web-services aws-codepipeline aws-codebuild


    【解决方案1】:

    AWS CodeBuild 支持备用构建规范文件。可以在此 AWS 博客中找到示例:https://aws.amazon.com/blogs/devops/create-multiple-builds-from-the-same-source-using-different-aws-codebuild-build-specification-files/

    每个阶段以不同的方式命名您的构建规范文件。例如,buildspec_dev.yml、buildspec_qa.yml 等。将它们中的每一个与单独的 CodeBuild 项目相关联。之后,您可以在 CodePipeline 中使用适当的 CodeBuild 项目。

    您还可以对 CodePipeline 中的这些不同阶段进行建模。例如,在构建操作中使用基于 buildspec_dev.yml 的项目,然后在测试操作中使用基于 buildspec_qa.yml 的项目。

    【讨论】:

    • 谢谢!我误读了 AWS CodeBuild 的配置页面。这个怎么做其实很明显了……哈哈
    【解决方案2】:

    在 CodeBuild 中,您可以定义在构建期间可以使用的环境变量。因此,您需要为每个环境创建单独的 CodeBuild 项目,并设置正确的环境变量。

    如果您也使用 CodePipeline,那么我假设为不同的环境创建了不同的分支。因此,您可以为这些分支上的提交定义一个挂钩,CodePipeline 将调用正确的 CodeBuild 项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-26
      • 2019-11-01
      • 2018-09-10
      • 1970-01-01
      • 2019-06-24
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      相关资源
      最近更新 更多