AWS CodePipeline:同时运行多个管道

问题描述 投票:0回答:1

我正在尝试使用Bitbucket,CodeBuild和CodePipeline设置我的CI / CD进程。到目前为止,我在Bitbucket上拥有Webhook,它将在ECR的自定义docker映像上运行CodeBuild,并将工件上传到Amazon S3存储桶,已启用版本。新上传将基于Cloudwatch事件触发CodePipeline,并在“手动”批准后运行另一个CodeBuild,这将部署到新的S3存储桶上,到目前为止,还不错。 CodePipeline具有3个阶段:Source(s3),-> Manual Approve-> CodeBuild

问题是:当我尝试推送多个分支/新提交时,第一个CodeBuild运行并按预期在不同版本的S3上上传工件。但是,每次上传应触发每个CodePipline。如果我对Bitbucket存储库进行了3次不同的代码推送,则应该有3条管道等待部署手动批准。但是事实并非如此。

根据提交,我在S3中上传了三个带有不同VersionID的工件:

第一提交的工件版本ID:OKIBabVQQX80aAuARAne8jnClsTpJGXu

第二次提交的工件VersionID:YNsgp9rodnAx7du1Te1OQD2UO0t5IZc

第三次提交的工件VersionID:VN7pwVS5zpYNTmzJrLbFGKBupogpgtHN

在CodePipeline中:

阶段:手动批准正在等待具有S3源版本的批准:OKIBabVQQX80aAuARAne8jnClsTpJGXu

Stage:Source由S3触发,版本ID:VN7pwVS5zpYNTmzJrLbFGKBupogpgtHN

在这里,我完全错过了第二个工件:(s3 VersionID:YNsgp9rodnAx7du1Te1OQD2UO0t5IZc)我希望所有这三个工件都可以一个接一个地触发CodePiple,以便我可以部署所有3个推送。

非常感谢!

amazon-web-services amazon-s3 aws-codepipeline aws-codebuild
1个回答
0
投票

当管道执行开始时,它将在管道的每个阶段和操作中运行修订。 Start a Pipeline Execution in CodePipeline

代码管线阶段显示特定阶段的最后一个触发器。您的情况是:

  • 工件1触发了源和手动批准。
  • [Artifact2触发了源并等待触发手动批准。
  • [Artifact3已触发源并等待触发手动批准。

由于您的Artifact3紧随Artifact2之后-Source阶段显示了它(最后一个触发器)。Artifact2未显示,但仍在等待其转向。在人工批准阶段完成对Artifact1的操作后,人工批准将出现Artifact2。之后,Artifact3将进入手动批准阶段,依此类推。

© www.soinside.com 2019 - 2024. All rights reserved.