Amazon web services 如何使用AWS CodeCommit、CodeBuild、CodePipeline基于另一个管道成功调用管道

Amazon web services 如何使用AWS CodeCommit、CodeBuild、CodePipeline基于另一个管道成功调用管道,amazon-web-services,devops,serverless,aws-codepipeline,aws-codecommit,Amazon Web Services,Devops,Serverless,Aws Codepipeline,Aws Codecommit,所需的行为如下所示: 推码更改 为每个无服务器组件运行单元测试 如果所有测试都成功,则将组件部署到临时环境中,并将构建标记为成功 听一下这个变化,并使用小黄瓜运行验收测试套件 如果所有测试都成功,将组件部署到UAT/Prod环境中,并将构建标记为成功 理想的解决方案将有两条管道,第二条管道由第一条管道的成功触发 如果你还有其他想法,我很高兴听到 提前感谢我建议的第二个管道触发器的解决方案如下: 将第二个管道源作为S3(而不是CodeCommit)。这将确保只有在将特定命名的文件(对象键)推

所需的行为如下所示:

  • 推码更改
  • 为每个无服务器组件运行单元测试
  • 如果所有测试都成功,则将组件部署到临时环境中,并将构建标记为成功
  • 听一下这个变化,并使用小黄瓜运行验收测试套件
  • 如果所有测试都成功,将组件部署到UAT/Prod环境中,并将构建标记为成功
理想的解决方案将有两条管道,第二条管道由第一条管道的成功触发

如果你还有其他想法,我很高兴听到


提前感谢

我建议的第二个管道触发器的解决方案如下:

  • 将第二个管道源作为S3(而不是CodeCommit)。这将确保只有在将特定命名的文件(对象键)推送到AmazonS3时,此管道才会启动
  • 在第一个代码管道的末尾,添加一个Lambda函数,此时,所有操作都必须成功触发
  • 让Lambda复制您为第一个管道构建的工件,并将其与第二个bucket源中引用的键一起放在bucket中

为了保持清洁,请为每条管道使用一个单独的桶。

我将尝试这种方法,如果可行,我会接受答案。谢谢好的,很好,如果您需要任何澄清,请告诉我:)@GenaVerdel那么,结果如何?为什么您不能使用同一管道的不同阶段来实现相同的结果?