如何从 CodeCatalyst 迁移 - Amazon CodeCatalyst

Amazon CodeCatalyst 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息,请参阅 如何从 CodeCatalyst 迁移

如何从 CodeCatalyst 迁移

经过深思熟虑,我们决定从 2025 年 11 月 7 日起停止向客户开放 Amazon CodeCatalyst。现有的 Amazon CodeCatalyst 客户可以继续在现有空间中使用该服务,但无法创建新空间。AWS 将继续为 Amazon CodeCatalyst 投入资源以保障其安全性和可用性,但我们暂无计划推出新功能。

客户可以手动将其数据从 Amazon CodeCatalyst 迁移到其他提供商。本文档将介绍从 CodeCatalyst 和 AWS 管理控制台迁移、提取或删除数据的基本方法。通过 CodeCatalyst 控制台在其他 AWS 或第三方服务中创建的资源和数据需要通过这些服务删除,才会停止产生费用(如有)。

客户可以考虑迁移到于 2025 年 4 月 17 日宣布正式推出的 GitLab Duo with Amazon Q。这款新产品是一种集成式产品,它将 GitLab 的 DevSecOps 平台与 Amazon Q 的生成式人工智能功能结合在一起。GitLab Duo with Amazon Q 直接将 Amazon Q 代理功能嵌入到 GitLab 的 DevSecOps 平台,可加快整个软件开发生命周期中的复杂、多步骤的任务。

迁移存储库

将 CodeCatalyst 存储库迁移到 GitLab 存储库

将必备 URL 与 HTTPS Git 存储库凭证结合使用,按照 GitLab 文档中有关通过 URL 从存储库导入源代码的指南进行操作。

将 CodeCatalyst 存储库迁移到 GitHub 存储库

将必备 URL 与 HTTPS Git 存储库凭证结合使用,按照 GitHub 文档中有关导入源代码的指南进行操作。

向其他存储库提供商的通用迁移

  1. 克隆 CodeCatalyst 存储库

    使用 Git 将 Amazon CodeCatalyst 存储库克隆到本地计算机。如果您使用的是 HTTPS,则可以通过运行以下命令来执行此操作:

    git clone --mirror https://your-aws-repository-url your-aws-repository

    your-aws-repository-url 替换为您的 Amazon CodeCatalyst 存储库的 URL。

    your-aws-repository 替换为该存储库的名称。

    示例:

    git clone https://git-codecatalyst.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
  2. 设置新的远程存储库指针

    导航到克隆的 Amazon CodeCatalyst 存储库的目录。然后,将来自新存储库提供商的存储库 URL 添加为远程存储库:

    git remote add <provider name> <provider-repository-url>

    <provider name> 替换为您选择的提供商名称。(示例:gitlab)

    将 <provider-repository-url> 替换为新存储库提供商的存储库的 URL。

  3. 将本地存储库推送到新的远程存储库:

    这会将所有分支和标签推送到新存储库提供商的存储库。提供商名称必须与步骤 2 中的提供商名称匹配。

    git push <provider name> --mirror

    注意:

    • 远程存储库应该为空

    • 远程存储库可能有不允许强制推送的受保护分支,具体取决于提供商。如果出现这种情况,您必须导航到新存储库提供商并禁用分支保护以允许强制推送。

  4. 验证迁移

    推送完成后,请验证所有文件、分支和标签是否已成功迁移到新存储库提供商。为此,您可以在线浏览存储库,也可以将其克隆到其他位置并在本地查看。

  5. 更新远程 URL(可选)

    如果您计划继续在本地使用迁移后的存储库,则可能需要更新远程 URL,使其指向新提供商的存储库而非 Amazon CodeCatalyst。您可以使用下面的命令进行这项操作:

    git remote set-url origin <provider-repository-url>

    将 <provider-repository-url> 替换为新存储库提供商的存储库的 URL。

从 CodeCatalyst 中提取数据

下载构件

您可以下载并检查由您的 Amazon CodeCatalyst 工作流操作生成的构件。您可以下载两种类型的构件:

  • 源构件 – 包含运行开始时存在的源存储库内容的快照的构件。

  • 工作流构件 – 在工作流配置文件的 Outputs 属性中定义的构件。

下载工作流输出的构件:

  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 选择您的项目。

  3. 在导航窗格中,选择 CI/CD,然后选择工作流

  4. 选择工作流的名称。您可以按定义工作流的源存储库或分支名称筛选,也可以按工作流名称或状态筛选。

  5. 在工作流的名称下,选择运行

  6. 运行历史记录运行 ID 列中,选择一个运行。例如,Run-95a4d。

  7. 在运行的名称下,选择构件

  8. 在构件旁边,选择下载。此时会下载存档文件。其文件名由七个随机字符组成。

  9. 使用您选择的档案提取实用程序来提取存档。

下载事务附件

  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 选择要管理其附件的事务。要获取有关查找事务的帮助,请参阅查找和查看事务

  3. 要下载附件,请选择要下载的附件旁边的省略号菜单,然后选择下载

下载操作的源代码

  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 选择您的项目。

  3. 找到要查看其代码的操作:

    1. 在导航窗格中,选择 CI/CD,然后选择工作流

    2. 选择任意工作流的名称,或创建一个工作流。有关创建工作流的信息,请参阅创建工作流

    3. 选择编辑

    4. 在左上角,选择 + 操作打开操作目录。

    5. 在下拉列表中,选择 Amazon CodeCatalyst 以查看 CodeCatalyst、CodeCatalyst Labs 或第三方操作。

    6. 搜索操作,然后选择其名称。请不要选择加号(+)。

    有关该操作的详细信息将显示。

  4. 在靠近底部的操作详细信息对话框中,选择下载

    出现的页面中显示操作源代码所在的 Amazon S3 存储桶。有关 Amazon S3 的信息,请参阅《Amazon Simple Storage Service 用户指南》中的什么是 Amazon S3?

从 CodeCatalyst 中删除数据

在从 CodeCatalyst 中删除数据之前,请向您的团队告知服务迁移事宜,并确认不再需要任何资源。数据和资源一旦删除便无法恢复。

请求服务团队代表您删除数据

空间管理员可以通过 CodeCatalyst 控制台中的支持中心联系我们,请求服务团队代表他们删除空间。空间管理员必须在 CodeCatalyst 控制台中通过身份验证才能请求删除空间。提交请求后,服务团队将联系您以确认请求,然后再代表您执行操作。

删除 CodeCatalyst 空间

您可以删除空间以取消对该空间所有资源的访问权限。您必须拥有空间管理员角色才能删除空间。

注意:删除空间的操作无法撤销,且一旦空间被删除,其中的数据就无法恢复。

删除空间后,所有空间成员都将无法访问空间资源。空间资源的计费也将停止,第三方源存储库提示的任何工作流都将停止。

如果您属于多个空间,则可以在顶部导航栏中选择空间。

删除空间
  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 导航到您的空间。

    提示

    如果您属于多个空间,则可以在顶部导航栏中选择一个空间。

  3. 选择设置,然后选择删除

  4. 键入 delete 以确认删除。

  5. 选择删除

    注意

    如果您属于多个空间,您将被重定向到空间概述页面。如果您属于一个空间,您将被重定向到空间创建页面。

如果您删除了一个空间但属于多个空间,您将被重定向到空间概述页面。如果您属于一个空间,您将被重定向到空间创建页面。

如果您通过 CodeCatalyst 控制台在其他 AWS 或第三方服务中创建了资源,则需要分别访问这些服务,以在创建资源的计费账户中关闭资源。删除空间只会删除 CodeCatalyst 数据和资源。

删除项目

您可以删除项目以移除对该项目的资源的所有访问权限。您必须拥有空间管理员项目管理员角色才能删除项目。在删除项目后,项目成员将无法访问项目资源,并且第三方源存储库所触发的任何工作流都将停止。

删除项目:

  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 导航到具有要查看的项目的空间。在项目下,选择您的项目。

  3. 在导航窗格中,选择项目设置

  4. 选择删除项目

  5. 输入 delete 以确认删除。

  6. 选择删除项目

如果您通过 CodeCatalyst 项目在其他 AWS 或第三方服务中创建了资源,则需要分别访问这些服务,以在创建资源的计费账户中关闭资源。删除空间只会删除 CodeCatalyst 数据和资源。

删除源存储库

您可以删除 Amazon CodeCatalyst 项目的源存储库。删除源存储库也会删除存储在存储库中的所有项目信息。如果有任何工作流依赖于源存储库,则在删除该存储库后,这些工作流将从项目工作流列表中删除。引用源存储库的事务不会被删除或更改,但一旦删除源存储库,添加到事务中的任何指向源存储库的链接都将失效。

重要提示:删除源存储库的操作无法撤销。删除源存储库后,就无法再克隆它、从中提取数据或向其推送数据。删除源存储库不会删除该存储库的任何本地副本(本地存储库)。要删除本地存储库,请使用您的本地计算机的目录和文件管理工具。

注意:您不能在 CodeCatalyst 控制台中删除链接的存储库。要删除链接的存储库,请在存储库列表中选择链接,在托管该存储库的服务中打开该存储库,然后删除它。有关更多信息,请参阅托管链接存储库的服务的文档。

要从项目中删除链接的存储库,请参阅在 CodeCatalyst 中取消链接 GitHub 存储库、Bitbucket 存储库、GitLab 项目存储库和 Jira 项目

删除源存储库
  1. 导航到包含要删除的源存储库的项目。

  2. 在项目的摘要页面上,从列表中选择所需的存储库,然后选择查看存储库。或者,在导航窗格中,选择代码,然后选择源存储库。从项目的源存储库列表中选择存储库的名称。

  3. 在存储库主页上,选择更多,选择管理设置,然后选择删除存储库

  4. 查看分支、拉取请求和相关工作流信息,以确保不会删除仍在使用或有未完成工作的存储库。如果要继续,请键入 delete,然后选择删除

删除自定义蓝图

在您从 Amazon CodeCatalyst 空间中删除蓝图时,您对蓝图项目或蓝图版本的资源的所有访问权限都将被移除。在您删除蓝图时,项目成员将无法访问项目资源,并且第三方源存储库所触发的任何工作流都将停止。

如果删除蓝图,不会影响已应用该蓝图的项目。不会从项目中移除蓝图的资源。

重要提示:要从空间中删除已发布的自定义蓝图或自定义蓝图的目录版本,您必须使用在空间中具有空间管理员或高级用户角色的账户进行登录。

  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 在 CodeCatalyst 控制台中,导航到要从中删除自定义蓝图的空间。

  3. 在空间控制面板上,选择设置选项卡,然后选择蓝图

  4. 设置表中,选择要删除的自定义蓝图的单选按钮,然后选择删除蓝图

  5. 输入 delete 以确认删除蓝图目录版本。

  6. 选择删除

删除事务附件

  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 选择要管理其附件的事务。要获取有关查找事务的帮助,请参阅查找和查看事务

  3. 要移除附件,请选择要移除的附件旁边的省略号菜单,然后选择删除

删除通过 Amazon CodeCatalyst 访问的开发环境中的文件

您可以在开发环境、本地计算机或集成式开发环境(IDE)中删除文件。您不能在 Amazon CodeCatalyst 控制台中删除文件。

删除空间的开发环境

有关删除开发环境的考虑因素的更多信息,请参阅删除开发环境

您必须拥有空间管理员角色才能查看此页面并在空间级别管理开发环境。如果您属于多个空间,则可以在顶部导航栏中选择一个空间。

删除开发环境
  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 导航到您的 CodeCatalyst 空间

  3. 选择设置,然后选择开发环境

  4. 选择要管理的开发环境旁边的选择器。选择删除

  5. 输入 delete 以确认删除开发环境。

  6. 选择删除

删除账户连接

您可以在 CodeCatalyst 控制台中删除之前已添加到该空间的账户连接。删除一个账户连接后,您就无法重新建立该连接,必须建立新的连接。

必须为您的 CodeCatalyst 空间指定一个计费账户,即使该空间的使用量不会超出免费套餐的限制也是如此。您需要先为您的空间添加另一个账户,之后才能为用作指定计费账户的账户移除空间。如果您想删除该空间的计费账户,则需要删除您的空间。请参阅《Amazon CodeCatalyst Administrator Guide》中的 Managing billing

要管理空间的账户连接,您必须具有空间管理员高级用户角色。

稍后可以重新添加已移除的账户,但您必须在账户和空间之间创建新的连接。您需要将所有 IAM 角色重新关联到该账户。

删除账户连接
  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 导航到您的 CodeCatalyst 空间。选择设置,然后选择 AWS 账户

  3. Amazon CodeCatalyst 显示名称下,选择要移除的账户连接旁边的选择器。

  4. 选择移除 AWS 账户。在字段中输入名称来确认删除,然后选择移除

    这将显示成功横幅,表明已从连接列表中移除账户连接。

在 AWS 管理控制台中从 CodeCatalyst 空间删除账户

您可以使用 AWS 中的 CodeCatalyst 页面来删除已添加到空间的账户。在此过程中,请使用您管理的特定账户的管理权限登录 AWS 管理控制台中的“Amazon CodeCatalyst 空间”页面,将 AWS 账户从您的空间中删除。要移除指定为 CodeCatalyst 空间计费账户的账户,请务必先指定一个新的计费账户。

稍后可以重新添加已移除的账户,但您必须在账户和空间之间创建新的连接。您将需要将所有 IAM 角色重新关联到已添加的账户。

必须为您的 CodeCatalyst 空间指定一个计费账户,即使该空间的使用量不会超出免费套餐的限制也是如此。您需要先为您的空间添加另一个账户,之后才能为用作指定计费账户的账户移除空间。

您必须具有空间管理员高级用户角色才能管理空间的账户连接。

删除已添加的账户
  1. 在 AWS 管理控制台中,请确保您使用要管理的相同账户登录。

  2. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  3. 导航到您的 CodeCatalyst 空间。选择设置,然后选择账单

  4. 在页面上查看计费账户信息,确保要删除的账户不是该空间的指定计费账户。

  5. 选择在 AWS 中管理账单。这将在 AWS 管理控制台中打开“Amazon CodeCatalyst 空间”页面。如果系统提示您登录,请登录 AWS,然后再次选择该按钮加载页面。

  6. Amazon CodeCatalyst 空间页面上,选择包含要删除的账户的空间。此时将显示空间的详细信息页面。

  7. 选择删除空间

  8. 从该账户中删除 CodeCatalyst 空间中,输入空间名称进行确认。选择移除

删除密钥

使用以下步骤来删除密钥和密钥引用标识符。在删除密钥之前,我们建议您从所有工作流操作中移除该密钥的引用标识符。如果您删除密钥而不删除引用标识符,则该操作在下次运行时将失败。

从工作流中删除密钥的引用标识符
  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 在导航窗格中,选择 CI/CD,然后选择工作流

  3. 选择工作流的名称。您可以按定义工作流的源存储库或分支名称筛选,也可以按工作流名称或状态筛选。

  4. 选择编辑

  5. 选择 YAML

  6. 在工作流中搜索以下字符串:

    ${Secrets.

    这将找到所有密钥的所有引用标识符。

  7. 删除所选密钥的参考标识符,或将其替换为纯文本值。

  8. (可选)选择验证,在提交之前验证工作流的 YAML 代码。

  9. 选择提交,输入提交消息,然后再次选择提交

删除密钥
  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 在导航窗格中,选择 CI/CD,然后选择密钥

  3. 在密钥列表中,选择要删除的密钥。

  4. 选择删除

  5. 输入 delete 以确认删除。

  6. 选择删除

删除团队

您可以删除不再需要的团队。在删除团队时,将从空间中的所有项目和资源中移除所有团队成员的关联权限。您必须拥有空间管理员角色才能管理团队。

删除团队
  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 导航到您的空间。选择设置,然后选择团队

  3. 操作中,选择删除团队。这将更改整个团队的角色。

  4. 选择删除

删除预置的实例集

按照以下说明操作来删除预置的实例集。

在删除某个预调配实例集之前,请从操作的 YAML 代码中删除 Fleet 属性,以从所有操作中删除该实例集。任何在删除预置实例集后继续引用该实例集的操作都将在下次运行时失败。

删除预置的实例集
  1. 在导航窗格中,选择 CI/CD,然后选择计算

  2. 预置实例集列表中,选择要删除的实例集。

  3. 选择删除

  4. 输入 delete 以确认删除。

  5. 选择删除

删除程序包存储库

执行以下步骤可在 CodeCatalyst 中删除程序包存储库。

删除程序包存储库
  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 导航到包含要删除的程序包存储库的项目。

  3. 在导航窗格中,选择程序包

  4. 程序包存储库页面上,选择要删除的存储库。

  5. 选择删除

  6. 查看提供的有关删除程序包存储库的效果的信息。

  7. 在输入框中输入 delete,然后选择删除

当您的空间被删除后,存储在 Amazon CodeCatalyst 中的所有其他资源都会被删除。这不包括通过 CodeCatalyst 控制台在其他 AWS 或第三方服务中创建的资源和数据。所有在 CodeCatalyst 控制台之外的服务中创建的资源都需要通过这些服务进行删除,才会停止产生费用。

如果还有其他问题,请通过 aws-codecatalyst-service@amazon.com 或通过 Amazon CodeCatalyst 控制台中的支持中心联系我们。