亚马逊AWS官方博客

Amazon CodeCatalyst 现已支持 GitLab 和 Bitbucket 存储库,包括蓝图和 Amazon Q 功能开发



我很高兴地宣布,除了与 GitHub 的现有集成外,我们正在进一步将 Amazon CodeCatalyst 与两个受欢迎的代码存储库 GitLabBitBucket 集成。我们将您目前在 CodeCatalyst 上所使用的与 GitHub 集成相同的功能集带到了 GitLab.com 和 Bitbucket Cloud

Amazon CodeCatalyst 是一项统一的软件开发和交付服务,可让软件开发团队在 Amazon Web Services(AWS)上快速轻松地规划、开发、协作、构建和交付应用程序,从而减少整个开发生命周期中产生的冲突。

CodeCatalyst 的 GitHub、GitLab.com 和 Bitbucket Cloud 存储库扩展简化了开发工作流程的管理。该扩展可以直接在 CodeCatalyst 内查看和管理外部存储库。此外,您可以将工作流定义文件与代码一起存储在外部存储库中并进行管理,同时还可以从 CodeCatalyst 开发环境中创建、读取、更新和删除链接存储库中的文件。该扩展还会在代码推送以及打开、合并或关闭拉取请求时自动触发 CodeCatalyst 工作流运行。此外,它允许您直接利用链接存储库中的源文件,并在 CodeCatalyst 工作流内执行操作,从而无需切换平台,最大限度地提高效率。

不仅如此:从今天起,您可以在 GitHub、GitLab.com 或 Bitbucket Cloud 存储库中根据蓝图创建 CodeCatalyst 项目,可以将蓝图添加到这三个系统之一的存储库中的现有代码库,还可以创建存储在 GitHub、GitLab.com 或 Bitbucket Cloud 托管的外部存储库中的自定义蓝图。

CodeCatalyst 蓝图有助于加快开发速度。这些预建模板提供了源存储库、示例代码、持续集成和交付(CI/CD)工作流以及集成的问题跟踪,让您可以快速上手。蓝图会根据最佳实践自动更新,使您的代码与时俱进。IT 主管可以创建自定义蓝图,以实现团队的标准化开发,指定技术、访问控制、部署和测试方法。现在,即使代码位于 GitHub、GitLab.com 或 Bitbucket Cloud 中,您也可以使用蓝图。

将您的 CodeCatalyst 空间与 git 存储库托管服务相关联
使用这三个源代码存储库提供商其中的任何一个入门都很容易。作为 CodeCatalyst 空间管理员,我选择要配置扩展的空间。然后,选择设置,在已安装的扩展部分选择配置,将我的 CodeCatalyst 空间与 GitHub、GitLab.com 或 Bitbucket Cloud 账户相关联。

将 CodeCatalyst 与 git 存储库托管服务相关联

这对每个 CodeCatalyst 空间来说都是一次性操作,但您可能希望将空间连接到多个源提供商账户。

使用 GitHub 时,我还必须将我的个人 CodeCatalyst 用户关联到我的 GitHub 用户。在屏幕右上角我的个人菜单下,选择我的设置。然后,向下导航到个人关联部分。我选择创建并按照说明在 GitHub 上进行身份验证并关联我的两个身份。

将个人 CodeCatalyst 账户关联到您的 Git 托管提供商账户

这对 CodeCatalyst 空间中的每个用户来说都是一次性操作。仅当将 GitHub 与蓝图一起使用时,才需要这样做。

根据蓝图创建项目并将其托管在 GitHub、GitLab.com 和 Bitbucket Cloud 上
让我们向您展示如何根据蓝图在外部存储库中创建一个项目,然后向该项目添加其他蓝图。您可以使用 CodeCatalyst 支持的三个 git 托管提供商中的任何一个。在本次演示中,我选择了使用 GitHub。

假设我想创建一个新项目来实现 API。我从使用 PythonAWS Serverless Application Model(AWS SAM)实现 API 的蓝图开始。该蓝图还创建了 CI 工作流问题管理系统。我希望在 GitHub 上托管我的项目代码。它允许我直接利用 GitHub 中存储库的源文件,并在 CodeCatalyst 工作流中执行操作,从而无需切换平台。

我首先在我的 CodeCatalyst 空间页面上选择创建项目。选择从蓝图开始,然后选择要使用的 CodeCatalyst 蓝图空间蓝图。然后,我选择下一步

Amazon CodeCatalyst 根据蓝图创建项目

我输入了我的项目名称。打开高级部分,选择 GitHub 作为存储库提供商,然后选择我的 GitHub 账户。您可以通过选择连接 GitHub 账户来配置其他到 GitHub 的连接。

Amazon CodeCatalyst – 选择 github 账户

其余配置取决于所选蓝图。在本例中,我选择了语言版本、要将项目部署到的 AWS 账户、AWS Lambda 函数的名称,以及 AWS CloudFormation 堆栈的名称。

项目创建后,我导航到我的 GitHub 账户,可以看到已经创建了一个新的存储库。它包含蓝图中的代码和资源。

Amazon CodeCatalyst – 创建新的 GitHub 存储库

向现有 GitHub、GitLab.com 或 Bitbucket Cloud 项目添加蓝图
您可以在一个项目中应用多个蓝图,将功能组件、资源和治理整合到现有 CodeCatalyst 项目中。您的项目可以支持在不同蓝图中独立管理的各种元素。服务文档通过现有项目的蓝图帮助您了解有关生命周期管理的更多信息

现在,我可以将蓝图添加到外部源代码存储库的现有项目中。现在,我的后端 API 项目已经创建,我想在我的项目中添加 Web 应用程序。

我导航到左侧菜单中的蓝图部分,然后选择屏幕右上角橙色的添加蓝图按钮。

CodeCatalyst – 将蓝图添加到现有项目

我选择单页应用程序蓝图,然后选择下一步

在下一个屏幕上,我确保选择我的 GitHub 连接,就像创建项目时一样。还填写了这一特定模板的必填信息。我查看了屏幕右侧提议的更改。

CodeCatalyst – 将蓝图添加到 GitHub 的项目中

同样,在使用 CodeCatalyst 企业版时,我可以创建自己的自定义蓝图,与我的队友或组织内的其他团队分享。为简洁起见,我没有在本博文中分享如何操作的分步说明。有关更多信息,请参阅文档中的 Standardizing projects with custom blueprints

当 CodeCatalyst 安装完新蓝图后,我可以在 GitHub 上看到第二个存储库。

Amazon CodeCatalyst – 多个存储库

单个或多个存储库策略
整理代码时,您可以选择一个大型存储库(就像一个装满了所有东西的工具箱),也可以将其拆分为较小的专业存储库以更好地进行整理。单个存储库简化了紧密关联项目的依赖项管理,但规模较大时可能会变得杂乱无章。多个存储库提供了更简洁的组织和更高的安全性,但需要规划来管理不同项目之间的依赖关系。

CodeCatalyst 可让您为自己的项目采用最佳策略。有关更多信息,请参阅文档中的 Store and collaborate on code with source repositories in CodeCatalyst 章节。

在我之前展示的示例中,我所选择的蓝图提议将第二个蓝图在 GitHub 中作为单独的存储库应用。根据您选择的蓝图,其可能会建议您创建单独的存储库或将新代码合并到现有存储库。在后一种情况下,该蓝图将提交一个拉取请求,供您合并到存储库中。

区域和可用性
这种新的 GitHub 集成发布时在提供 Amazon CodeCatalyst 的两个 AWS 区域 [美国西部(俄勒冈州)和欧洲地区(爱尔兰)] 免费提供。

现在就来试试吧

— seb