问题
有什么方法可以将现有的 Amplify 应用程序指向新的存储库吗?如果做不到这一点,是否有办法将 Amplify 应用程序设置(包括后端环境)从一个应用程序克隆到另一个应用程序?
背景
直到几个月前,我还是 AWS 的新手,当时我继承了由另一个团队开发的一组现有 AWS 应用程序的责任。
在我们的 AWS 账户中,Amplify 配置为使用之前团队控制下的 GitLab 存储库。我获得了代码的副本,但我无权访问存储库。
因此,我将代码上传到新的 Bitbucket 存储库,现在我需要将 Amplify 中的现有应用程序指向新存储库。我的目标是能够将更改推送到我的新存储库,并让 Amplify 检测这些更改,以便可以推送新版本。
3个不成功的解决方案
我尝试从几个不同的角度解决这个问题。
1。创建一个新应用程序
我创建了一个指向新存储库的新应用程序,事实证明这非常简单。但我没有预料到将设置(尤其是后端环境)从一个应用程序迁移到另一个应用程序会有多困难。所以我认为将现有应用程序指向新存储库可能会更简单。
2。重新连接存储库
我认为为现有应用程序配置新存储库相对简单。这是我遵循的程序。
弹出一个对话框:“重新连接您的 Git 存储库”。它提示我从“最近更新的存储库”下拉列表中进行选择,但该列表是空的。没有地方可以输入新存储库的地址,所以这条路似乎是一个死胡同。
3.创建连接
我尝试“创建与 Bitbucket 的连接”,如 AWS 文档中所述:https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-bitbucket.html
但是“开发者工具”控制台似乎与 Amplify 无关。连接已成功创建,但它没有出现在“最近更新的存储库”列表中,我不知道它还能如何使用。
如果您对 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
如果您想将其指向不同帐户中的存储库,您将执行以下操作:
就是这样。进行验证,选择存储库,然后就可以开始了。