AWS codebuild 是否允许使用 bitbucket 企业服务器?

Is bitbucket enterprise server allowed with AWS codebuild?

我希望将企业 bitbucket 服务器与 aws ci/cd 管道功能集成。

我尝试在 aws codebuild 中创建一个项目,但没有看到 bitbucket enterprise 的任何选项。

如果这不可能,那么使用 api 网关/webhooks 等的长路由是什么?

AWS Codebuild 仅支持 Bitbucket 云。要与 Bitbucket 自托管解决方案集成,您需要创建一个 API 网关 + Lambda。然后将此网关地址作为 webhook 添加到 bitbucket 存储库中。然后 Lambda 将负责处理来自 Bitbucket 服务器的传入事件。从这里可能有 2 条路线。

一种方法是下载特定提交的 zip 并将其上传到 S3 存储桶。添加 S3 作为构建项目的源触发器。在这种情况下,您将失去 运行 任何 git 特定命令的能力,尽管它只是一个包含特定版本文件的 zip 文件。

第二个选项可能是通过直接从 Lambda 调用它来将相关信息传递给 codebuild。将 commit_id、事件(pr 或 push)、分支等细节作为环境变量传递。根据此信息,运行 在代码构建中 git 克隆,然后 运行 执行其他构建步骤。这样您就可以访问 git 特定命令。

Here is an example 来自 AWS 的工作流程(它用于代码管道,但您可以针对代码构建对其进行适当修改)