

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 设置 Amplify 对仓库的访问权限 GitHub
<a name="setting-up-GitHub-access"></a>

Amplify 现在使用 GitHub 应用程序功能来授权 Amplify 对存储库的只读访问权限。 GitHub使用 Amplify GitHub 应用程序，可以对权限进行更精细的调整，使您能够仅向 Amplify 授予访问您指定的存储库的权限。要了解有关 GitHub应用程序的更多信息，请参阅 GitHub 网站上的[关于 GitHub 应用程序](https://docs.github.com/en/developers/apps/getting-started-with-apps/about-apps#about-github-apps)。

当你连接存储在存储库中的新应用程序时，Am GitHub plify 默认使用 GitHub 该应用程序来访问存储库。但是，您之前从存储库连接的现有 Am GitHub plify 应用程序将用于 OAuth 访问。 CI/CD 将继续适用于这些应用程序，但我们强烈建议您将它们迁移到使用新的 Amplify GitHub 应用程序。

当您使用 Amplify 控制台部署新应用程序或迁移现有应用程序时，系统会自动将您定向到 Amplify 应用程序的安装位置。 GitHub 要手动访问应用程序的安装登录页面，请打开 Web 浏览器并按地区导航到该应用程序。使用格式`https://github.com/apps/aws-amplify-REGION`，*REGION*替换为要部署 Amplify 应用程序的区域。例如，要在美国西部（俄勒冈）地区安装 Amplify GitHub 应用程序，请导航至 https://github.com/apps/ aws-amplify-us-west -2。

**Topics**
+ [为新部署安装和授权 Amp GitHub lify 应用程序](#setting-up-github-app)
+ [将现有OAuth应用程序迁移到 Amplif GitHub y 应用程序](#migrating-to-github-app-auth)
+ [为 CloudFormation CLI 和 SDK 部署设置 Amplify GitHub 应用程序](#setting-up-github-app-cloudformation)
+ [使用 Amplify GitHub 应用程序设置网页预览](#setting-up-github-app-pr-previews)

## 为新部署安装和授权 Amp GitHub lify 应用程序
<a name="setting-up-github-app"></a>

当您使用存储库中的现有代码将新应用程序部署到 Am GitHub plify 时，请按照以下说明安装和授权该应用程序。 GitHub 

**安装和授权 Amplify 应用程序 GitHub**

1. 登录 AWS 管理控制台 并打开 [Amplify](https://console.aws.amazon.com/amplify/) 控制台。

1. 在**所有应用程序**页面中，选择**新建应用程序**，然后选择**托管 Web 应用程序**。

1. **在 “**开始使用 Amplify Hosting**” 页面上，选择 **GitHub**，然后选择继续。**

1. 如果这是首次连接 GitHub 存储库，则会在您的浏览器中打开 GitHub .com 上的新页面，请求 AWS Amplify 在您的 GitHub账户中进行授权。选择**授权**。

1. 接下来，您必须在您的 GitHub 账户中安装 Amplify GitHub 应用程序。GitHub.com 上会打开一个页面，请求允许 AWS Amplify 在你的 GitHub账户中安装和授权。

1. 选择要在其中安装 Amplify 应用程序 GitHub 的 GitHub 账户。

1. 请执行以下操作之一：
   + 要将安装应用于所有存储库，请选择**所有存储库**。
   + 要将安装限于您所选择的特定存储库，请选择**仅选择存储库**。确保在您选择的存储库中包含要迁移的应用程序的存储库。

1. 选择**安装和授权**。

1. 您将被重定向到 Amplify 控制台中应用程序的**添加存储库分支**页面。

1. 在**最近更新的存储库**列表中，选择要连接的存储库的名称。

1. 在**分支**列表中，选择要连接的存储库分支的名称。

1. 选择**下一步**。

1. 在**配置构建设置**页面上，选择**下一步**。

1. 在**查看**页面上，选择**保存并部署**。

## 将现有OAuth应用程序迁移到 Amplif GitHub y 应用程序
<a name="migrating-to-github-app-auth"></a>

您之前从 GitHub 存储库连接的现有 Amplify 应用程序 OAuth用于访问存储库。我们强烈建议您将这些应用程序迁移到使用 Amplify GitHub 应用程序。

按照以下说明迁移应用程序并删除 GitHub 账户中相应的 OAuth webhook。请注意，根据是否已安装 Amplify GitHub 应用程序，迁移过程会有所不同。迁移第一个应用程序并安装并授权该 GitHub 应用程序后，您只需要更新存储库权限即可进行后续应用程序迁移。

**将应用程序从迁移 OAuth 到 GitHub 应用程序**

1. 登录 AWS 管理控制台 并打开 [Amplify](https://console.aws.amazon.com/amplify/) 控制台。

1. 选择要迁移的应用程序。

1. 在应用程序的信息页面上，找到蓝色的 “**迁移到我们的 GitHub应用程序**” 消息，然后选择**开始迁移**。

1. 在 “**安装和授权 GitHub 应用程序**” 页面上，选择 “**配置 GitHub 应用程序**”。

1. 您的浏览器中将打开一个新页面（ GitHub.com），请求 AWS Amplify 在您的 GitHub 账户中进行授权。选择**授权**。

1. 选择要在其中安装 Amplify 应用程序 GitHub 的 GitHub 账户。

1. 请执行以下操作之一：
   + 要将安装应用于所有存储库，请选择**所有存储库**。
   + 要将安装限于您所选择的特定存储库，请选择**仅选择存储库**。确保在您选择的存储库中包含要迁移的应用程序的存储库。

1. 选择**安装和授权**。

1. 您将被重定向到 ** GitHub Amplify 控制台中应用程序的 “安装和授权**应用程序” 页面。如果 GitHub 授权成功，您将看到一条成功消息。选择**下一步**。

1. 在**完成安装**页面上，选择**完成安装**。此步骤将删除您现有的 webhook，并创建一个新的 webhook，然后完成迁移。

## 为 CloudFormation CLI 和 SDK 部署设置 Amplify GitHub 应用程序
<a name="setting-up-github-app-cloudformation"></a>

您之前从 GitHub 存储库连接的现有 Amplify 应用程序 OAuth用于访问存储库。这可能包括您使用 Amplify 命令行界面 (CLI) 部署的应用程序 CloudFormation，或者。 SDKs我们强烈建议您将这些应用程序迁移到使用新的 Amplify GitHub 应用程序。迁移必须在 AWS 管理控制台的 Amplify 控制台中执行。有关说明，请参阅[将现有OAuth应用程序迁移到 Amplif GitHub y 应用程序](#migrating-to-github-app-auth)。

你可以使用 CloudFormation Amplify CLI 和 SDKs 来部署一个使用该应用程序访问存储库的新 Amplify GitHub 应用程序。此过程要求您首先在自己的 GitHub 账户中安装 Amplify GitHub 应用程序。接下来，您需要在您的 GitHub 账户中生成个人访问令牌。最后，部署应用程序并指定个人访问令牌。

**在你的账户中安装 Amplify GitHub 应用程序**

1. 打开网络浏览器，导航到要部署应用程序的 AWS 区域中的 GitHub Amplify 应用程序的安装位置。

   使用该格式`https://github.com/apps/aws-amplify-REGION/installations/new`，*REGION*替换为你自己的输入。例如，如果您要在美国西部（俄勒冈州）区域安装应用程序，请指定 `https://github.com/apps/aws-amplify-us-west-2/installations/new`。

1. 选择要在其中安装 Amplify 应用程序 GitHub 的 GitHub 账户。

1. 请执行以下操作之一：
   + 要将安装应用于所有存储库，请选择**所有存储库**。
   + 要将安装限于您所选择的特定存储库，请选择**仅选择存储库**。确保在您选择的存储库中包含要迁移的应用程序的存储库。

1. 选择**安装**。

**在您的 GitHub 账户中生成个人访问令牌**

1. 登录您的 GitHub 账户。

1. 在右上角，找到您的个人资料照片，然后从菜单中选择**设置**。

1. 在左侧导航菜单中，选择 **SMTP 设置**。

1. 在**GitHub 应用程序**页面的左侧导航菜单中，选择**个人访问令牌**。

1. 在**个人访问令牌**页面上，选择**生成新令牌**。

1. 在**新建个人访问令牌**页面上，请在**注释**中输入令牌的描述性名称。

1. 在**选择范围**部分，选择 **admin:repo\$1hook**。

1. 选择**生成令牌**。

1. 复制并保存个人访问令牌。当你使用 CLI 部署 Amplify 应用程序时，你需要提供它 CloudFormation，或者。 SDKs

在您的 GitHub 账户中安装 Amplify GitHub 应用程序并生成个人访问令牌后，您可以使用 Amplify CLI 或部署新应用程序。 CloudFormation SDKs使用 `accessToken` 字段指定您在上一步中创建的个人访问令牌。有关更多信息，请参阅 [CreateApp](https://docs.aws.amazon.com/amplify/latest/APIReference/API_CreateApp.html#API_CreateApp_RequestSyntax)*Amplify API 参考*和《*AWS CloudFormation 用户[AWS::Amplify::App](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html)*指南》。

以下 CLI 命令部署了一个使用 GitHub 该应用程序访问仓库的新 Amplify 应用程序。用您自己的信息替换*myapp-using-githubapp**https://github.com/Myaccount/react-app*、和*MY\$1TOKEN*。

```
aws amplify create-app --name myapp-using-githubapp --repository https://github.com/Myaccount/react-app --access-token MY_TOKEN
```

## 使用 Amplify GitHub 应用程序设置网页预览
<a name="setting-up-github-app-pr-previews"></a>

Web 预览会将向 GitHub 仓库发出的每个拉取请求 (PR) 部署到一个唯一的预览 URL。预览现在使用 Amp GitHub lify 应用程序访问您的存储库。 GitHub 有关安装和授权 GitHub 应用程序进行网页预览的说明，请参阅。[为拉取请求启用 Web 预览](pr-previews.md#enable-web-previews)