我有一个存放在AWS CodeCommit中的存储库,根目录中有一个buildspec.yml,由AWS CodeBuild使用它从源代码构建。
是否可以传入一个变量/读取源(AWS管道arn?)或者类似的东西,比如我可以在AWS CodeBuild中确定是做一个开发、测试还是Prod构建?
如果不是,在AWS CodePipeline中是否还有其他方法来实现我所缺少的?
发布于 2017-10-16 18:11:25
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项目关联起来。之后,您可以在您的CodeBuild中使用适当的CodePipeline项目。
您还可以在CodePipeline中对这些不同阶段进行建模。例如,在构建操作中使用基于buildspec_dev.yml的项目,然后在测试操作中使用基于buildspec_qa.yml的项目。
发布于 2017-11-08 20:01:04
在CodeBuild中,您可以定义环境变量,在构建过程中可以使用什么。因此,您需要为每个环境创建单独的CodeBuild项目,并设置正确的环境变量。
如果您也在使用CodePipeline,那么我假设为不同的环境创建了不同的分支。因此,您可以在这些分支上为提交定义一个挂钩,CodePipeline将调用正确的CodeBuild项目。
https://stackoverflow.com/questions/46720870
复制相似问题