【问题标题】:AWS CodePipeline: Running multiple pipelines concurrentlyAWS CodePipeline:同时运行多个管道
【发布时间】:2019-09-16 03:18:27
【问题描述】:

我正在尝试使用 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。如果我将 3 个不同的代码推送到 Bitbucket 存储库,则应该有 3 个管道等待手动批准部署。 但事实并非如此。

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

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

第二次提交的工件版本 ID:YNsgp9rodnAx7du1Te1OQD2UO0t5IZc

第三次提交的工件版本 ID:VN7pwVS5zpYNTmzJrLbFGKBupogpgtHN

在 CodePipeline 中:

Stage: Manual Approve 正在等待批准,S3 源版本:OKIBabVQQX80aAuARAne8jnClsTpJGXu

阶段:Source 由 S3 触发,版本 ID:VN7pwVS5zpYNTmzJrLbFGKBupogpgtHN

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

非常感谢!!!

【问题讨论】:

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


    【解决方案1】:

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

    代码管道阶段显示特定阶段的最后一个触发器。 在您的情况下,您有:

    • Artifact1 触发源和手动批准。
    • Artifact2 触发 Source 并等待触发 Manual Approval。
    • Artifact3 触发 Source 并等待触发 Manual Approval。

    由于您的 Artifact3 出现在 Artifact2 之后 - Source 阶段显示它(最后一个触发器)。 Artifact2 未显示,但仍在等待轮到它。在 Manual Approval 阶段完成 Artifact1 后,Artifact2 将出现在 Manual Approval。 之后,Artifact3 将进入 Manual Approval 阶段,以此类推。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-23
      • 2020-11-01
      • 2020-10-05
      • 2020-03-25
      • 1970-01-01
      • 2018-10-04
      • 2021-03-24
      相关资源
      最近更新 更多