首页 > 解决方案 > AWS codebuild 是否允许使用 bitbucket 企业服务器?

问题描述

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

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

如果这是不可能的,那么使用 api gateway / webhooks 等的长途路线是什么?

标签: amazon-web-servicesaws-codebuildbitbucket-aws-code-deploy

解决方案


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

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

第二种选择可能是通过直接从 Lambda 调用将相关信息传递给 codebuild。将 commit_id、事件(pr 或 push)、分支等细节作为环境变量传递。根据此信息,在运行其他构建步骤之前,在 codebuild 中运行 git clone。这样你就可以访问 git 特定的命令。

这是来自 AWS 的示例工作流程(它用于代码管道,但您可以针对代码构建进行适当修改)


推荐阅读