AWS Amplify:将现有应用程序切换到新存储库?

问题描述 投票:0回答:2

问题

有什么方法可以将现有的 Amplify 应用程序指向新的存储库吗?如果做不到这一点,是否有办法将 Amplify 应用程序设置(包括后端环境)从一个应用程序克隆到另一个应用程序?

背景

直到几个月前,我还是 AWS 的新手,当时我继承了由另一个团队开发的一组现有 AWS 应用程序的责任。

在我们的 AWS 账户中,Amplify 配置为使用之前团队控制下的 GitLab 存储库。我获得了代码的副本,但我无权访问存储库。

因此,我将代码上传到新的 Bitbucket 存储库,现在我需要将 Amplify 中的现有应用程序指向新存储库。我的目标是能够将更改推送到我的新存储库,并让 Amplify 检测这些更改,以便可以推送新版本。

3个不成功的解决方案

我尝试从几个不同的角度解决这个问题。

1。创建一个新应用程序

我创建了一个指向新存储库的新应用程序,事实证明这非常简单。但我没有预料到将设置(尤其是后端环境)从一个应用程序迁移到另一个应用程序会有多困难。所以我认为将现有应用程序指向新存储库可能会更简单。

2。重新连接存储库

我认为为现有应用程序配置新存储库相对简单。这是我遵循的程序。

  • 登录 AWS 控制台并导航至 Amplify 服务
  • 从应用程序列表中,选择我要修改的应用程序
  • 在“应用程序设置”下,选择“常规”选项卡
  • 单击“重新连接存储库”按钮

弹出一个对话框:“重新连接您的 Git 存储库”。它提示我从“最近更新的存储库”下拉列表中进行选择,但该列表是空的。没有地方可以输入新存储库的地址,所以这条路似乎是一个死胡同。

3.创建连接

我尝试“创建与 Bitbucket 的连接”,如 AWS 文档中所述:https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-bitbucket.html

但是“开发者工具”控制台似乎与 Amplify 无关。连接已成功创建,但它没有出现在“最近更新的存储库”列表中,我不知道它还能如何使用。

amazon-web-services bitbucket aws-amplify
2个回答
8
投票

如果您对 CLI 解决方案感到满意,请查看下面的评论 https://github.com/aws-amplify/amplify-hosting/issues/288#issuecomment-737192995

aws amplify update-app --app-id AMPLIFY_APP_ID --repository REPOSITORY_URL --access-token ACCESS_TOKEN

...为我工作,从一个 github 帐户转移到另一个 github 帐户和存储库。我知道这不完全是OP所做的, 但认为可能值得注意的是:

  • AMPLIFY_APP_ID 是应用程序 ARN 的最后一位(例如 dXXXXXXXXXXXXXXX)
  • 对于 github 存储库,访问令牌是 个人访问令牌 (https://github.com/settings/tokens)。 我给了它所有的 repo 和 admin:repo_hook 权限。它必须从存储库所有者的帐户创建,而不是贡献者。

这帮助我更改该应用程序以指向不同的 GitHub 存储库。

AWS CLI 需要一些设置,文档可在此处获取 https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html

编辑:在使用 CLI 更改 UI 后,您可能还需要

Reconnect The Repository
使用 UI


0
投票

如果您想将其指向不同帐户中的存储库,您将执行以下操作:

  • 转到 AWS Amplify 中的应用程序设置。
  • 单击右侧面板上的“常规”选项卡。
  • 向下滚动到分支。
  • 选择您想要从新存储库中获取的分支。
  • 单击操作并选择断开分支。
  • 然后单击“连接分支”。
  • 将打开一个新窗口,显示 GitHub 身份验证成功。
  • 单击取消,您将被重定向到一个窗口,询问 您选择源代码提供商。
  • 打开一个新选项卡并登录您想要放大的 GitHub 帐户 应用程序从中获取代码。
  • 返回 Amplify 选项卡并选择 GitHub 帐户。

就是这样。进行验证,选择存储库,然后就可以开始了。

© www.soinside.com 2019 - 2024. All rights reserved.