我希望将我的Bitbucket存储库镜像到CodeCommit并从中构建,而不会影响开发人员的工作流程。迁移很容易,现在的目标是将CodeCommit与Bitbucket同步,理想情况是通过推送到Bitbucket来触发,但基于时间的同步也是可以接受的。
找到了这篇帖子:Mirror a Git Repo directly to AWS CodeCommit和未回答的问题请分享您如何编写aws lambda函数以将CodeCommit存储库与Bitbucket同步的想法。
答案 0 :(得分:1)
虽然我没有尝试过,但我怀疑以下工作流程可行。一般的想法是使用BitBucket webhooks功能通过使用API网关触发lambda函数。
编写一个Lambda函数,该函数反映了'从您的bitbucket存储库URL克隆并推送到您的CodeCommit存储库URL。您的功能可能需要包含自己的独立git客户端库。
使用调用lambda函数的API网关创建API。这里的潜在挑战可能是验证发送到您的API的POST请求来自Bitbucket,而不是来自其他来源。
为您的Bitbucket存储库创建一个新的webhook,其URL是您在步骤2中创建的API的网址。'存储库推送'触发器足以在每次推送后触发复制事件。
答案 1 :(得分:0)
一种选择是使用CodePipline。不幸的是,CodePipline目前有一个奇怪的过程,使Lambda函数作为管道的唯一过程。基本上它归结为:
另一种选择是使用CloudWatch scheduling以X间隔调用Lambda,如果您可以使用延迟更高的同步。从长远来看,这可能更容易设置,如果没有任何东西可以同步,可能会有空Lambda运行,这与你的分配相反。