当在AWS CodeComimit中创建或更新Pull Request时,我正在使用AWS Lambda函数在AWS CodeBuild中启动构建,该函数运行良好。
然而,我希望能够防止将该Pull Request合并到存储库的主分支中,直到该PR的最新构建成功完成。
有人知道AWS中是否有这样的方法吗?例如,使"合并"按钮被禁用或不可用,例如当没有获得足够的审批人时?
我自己也在研究这个问题,据我所知,目前不可能直接创建这个规则,但我认为用不同的方法应该是可行的。
不需要一个禁用合并的自定义规则(现在还不存在(,您可以制定它,以便PR需要特定IAM用户的审查。有了这个,你可能会使用一个固定的";构建";用户,并在构建成功完成后触发PR的自动批准请求。这将反过来";批准";PR中的规则,并允许在构建成功后将其合并。
由于可以通过CLI界面进行审批,我相信也可以通过API进行审批。例如,您可以使用这个API自动将任何给定的PR标记为被调用用户批准,然后确保调用它的服务是在;构建";审批模板。
除了HTTPWebApi,还有其他方法可以调用这些CodeCommit操作,比如AWS SDK库(C#示例:https://www.nuget.org/packages/AWSSDK.CodeCommit/)。