AWS CodeCommit 阻止合并,直到成功构建

eeb*_*sie 3 amazon-web-services aws-lambda aws-codecommit aws-codebuild

当在 AWS CodeComimit 中创建或更新拉取请求时,我使用 AWS Lambda 函数在 AWS CodeBuild 中启动构建,效果良好。

但是,我希望能够阻止将该拉取请求合并到存储库的主分支中,直到该 PR 的最新构建成功完成。

有谁知道是否有一种方法可以在AWS中完成?例如,合并按钮被禁用或不可用,比如没有获得足够的批准者?

jul*_*gon 5

我自己正在研究这个问题,据我了解,目前不可能直接创建这个规则,但我认为应该可以通过不同的方法来实现。

您可以让 PR 需要特定 IAM 用户的审核,而不是要求禁用合并的自定义规则(目前尚不存在)。这样,您可能可以使用固定的“构建”用户,并在构建成功完成后触发 PR 的自动批准请求。这将反过来“批准” PR 中的该规则,并允许在构建成功后合并它。

由于批准可以通过 CLI 界面完成,我确信也可以通过 API 进行批准。例如,您可以使用此 API自动将任何给定 PR 标记为调用用户已批准,然后确保调用它的服务与在“构建”批准模板中注册的用户是同一用户。

除了 HTTP WebApi 之外,还有其他方法可以调用这些 CodeCommit 操作,例如 AWS SDK 库(C# 示例: https: //www.nuget.org/packages/AWSSDK.CodeCommit/)。