如何使用AWS CodeBuild构建Dev / Test / Prod

时间:2017-10-13 00:39:22

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

我在AWS CodeCommit中托管了一个存储库,其根目录中有一个# file1.py def foo(): print("hello world") class Person: first_name = foo() last_name = None def __init__(self): last_name = "augustus" print("good night") # file2.py import file1 >>> "hello world" x = Person() >>> "good night" ,AWS CodeBuild使用该存储库从源代码构建。

是否可以传入变量/读取源(AWS Pipeline arn?)或类似内容,以便我可以在AWS CodeBuild中确定是否进行Dev,Test或Prod构建?

如果没有,是否有另一种方法可以在AWS CodePipeline中实现这一点,我错过了?

2 个答案:

答案 0 :(得分: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的项目。

答案 1 :(得分:0)

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

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