2017-10-13 113 views
0

我有一个存储在AWS CodeCommit中的单个存储库,其中一个buildspec.yml位于AWS CodeBuild从源代码构建的根目录中。如何使用AWS CodeBuild构建开发/测试/产品

是否可以传入/读取源代码(AWS Pipeline arn?)或类似的东西,以便我可以在AWS CodeBuild中确定是否执行Dev,Test或Prod构建?

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

回答

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的项目。

+0

谢谢!我误读了AWS CodeBuild的配置页面。这实际上是非常明显的如何做到这一点...哈哈 – Milk

0

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

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

相关问题