

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定對 GitHub 儲存庫的 Amplify 存取權
<a name="setting-up-GitHub-access"></a>

Amplify 現在使用 GitHub 應用程式功能來授權 Amplify 對 GitHub 儲存庫的唯讀存取。使用 Amplify GitHub 應用程式時，許可會進行更精細的調校，讓您能夠僅將 Amplify 存取權授予您指定的儲存庫。若要進一步了解 GitHub 應用程式，請參閱 [ GitHub 網站上的關於](https://docs.github.com/en/developers/apps/getting-started-with-apps/about-apps#about-github-apps) GitHub 應用程式。

當您連接存放在 GitHub 儲存庫的新應用程式時，根據預設，Amplify 會使用 GitHub 應用程式來存取儲存庫。不過，您先前從 GitHub 儲存庫連線的現有 Amplify 應用程式會使用 OAuth 進行存取。CI/CD 將繼續適用於這些應用程式，但強烈建議您遷移它們以使用新的 Amplify GitHub 應用程式。

當您使用 Amplify 主控台部署新應用程式或遷移現有應用程式時，系統會自動將您導向 Amplify GitHub 應用程式的安裝位置。若要手動存取應用程式的安裝登陸頁面，請開啟 Web 瀏覽器，然後依區域導覽至應用程式。使用 格式`https://github.com/apps/aws-amplify-REGION`，將 *REGION* 取代為您部署 Amplify 應用程式的區域。例如，若要在美國西部 （奧勒岡） 區域安裝 Amplify GitHub 應用程式，請導覽至 https：//https://github.com/apps/aws-amplify-us-west-2。

**Topics**
+ [

## 為新部署安裝和授權 Amplify GitHub 應用程式
](#setting-up-github-app)
+ [

## 將現有OAuth應用程式遷移至 Amplify GitHub 應用程式
](#migrating-to-github-app-auth)
+ [

## 為 CloudFormation、 CLI 和 SDK 部署設定 Amplify GitHub 應用程式
](#setting-up-github-app-cloudformation)
+ [

## 使用 Amplify GitHub 應用程式設定 Web 預覽
](#setting-up-github-app-pr-previews)

## 為新部署安裝和授權 Amplify GitHub 應用程式
<a name="setting-up-github-app"></a>

當您從 GitHub 儲存庫中的現有程式碼部署新的應用程式至 Amplify 時，請使用下列指示來安裝和授權 GitHub 應用程式。

**安裝和授權 Amplify GitHub 應用程式**

1. 登入 AWS 管理主控台 並開啟 [Amplify 主控台](https://console.aws.amazon.com/amplify/)。

1. 從**所有應用程式**頁面，選擇**新增應用程式**，然後選擇**託管 Web 應用程式**。

1. 在**開始使用 Amplify 託管**頁面上，選擇 **GitHub**，然後選擇**繼續**。

1. 如果這是第一次連接 GitHub 儲存庫，GitHub.com,請求在您的 GitHub AWS Amplify 帳戶中授權的許可。選擇 **Authorize** (授權)。

1. 接著，您必須在 GitHub 帳戶中安裝 Amplify GitHub 應用程式。在 Github.com 上開啟一個頁面，請求在您的 GitHub AWS Amplify 帳戶中安裝和授權的許可。

1. 選取您要安裝 Amplify GitHub 應用程式的 GitHub 帳戶。

1. 執行以下任意一項：
   + 若要將安裝套用至所有儲存庫，請選擇**所有儲存庫**。
   + 若要將安裝限制為您選取的特定儲存庫，請選擇**僅選取儲存庫**。請務必在您選取的儲存庫中包含您要遷移之應用程式的儲存庫。

1. 選擇**安裝和授權**。

1. 系統會將您重新導向至 Amplify 主控台中應用程式的**新增儲存庫分支**頁面。

1. 在**最近更新的儲存庫**清單中，選取要連線的儲存庫名稱。

1. 在**分支**清單中，選取要連線的儲存庫分支名稱。

1. 選擇**下一步**。

1. 在**設定建置設定**頁面上，選擇**下一步**。

1. 在**檢閱**頁面上，選擇**儲存並部署**。

## 將現有OAuth應用程式遷移至 Amplify GitHub 應用程式
<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,請求在您的 GitHub AWS Amplify 帳戶中授權的許可。選擇 **Authorize** (授權)。

1. 選取您要安裝 Amplify GitHub 應用程式的 GitHub 帳戶。

1. 執行以下任意一項：
   + 若要將安裝套用至所有儲存庫，請選擇**所有儲存庫**。
   + 若要將安裝限制為您選取的特定儲存庫，請選擇**僅選取儲存庫**。請務必在您選取的儲存庫中包含您要遷移之應用程式的儲存庫。

1. 選擇**安裝和授權**。

1. 系統會將您重新導向至 Amplify 主控台中**應用程式的安裝和授權 GitHub ** 應用程式頁面。如果 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 應用程式。遷移必須在 的 Amplify 主控台中執行 AWS 管理主控台。如需說明，請參閱[將現有OAuth應用程式遷移至 Amplify GitHub 應用程式](#migrating-to-github-app-auth)。

您可以使用 CloudFormation Amplify CLI 和 SDKs 來部署使用 GitHub 應用程式進行儲存庫存取的新 Amplify 應用程式。此程序需要您先在 GitHub 帳戶中安裝 Amplify GitHub 應用程式。接著，您需要在 GitHub 帳戶中產生個人存取字符。最後，部署應用程式並指定個人存取字符。

**在您的帳戶中安裝 Amplify GitHub 應用程式**

1. 開啟 Web 瀏覽器，並導覽至您將部署應用程式的 AWS 區域中 Amplify GitHub 應用程式的安裝位置。

   使用 格式`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. 選擇 **Install (安裝)**。

**在您的 GitHub 帳戶中產生個人存取字符**

1. 登入您的 GitHub 帳戶。

1. 在右上角，找到您的設定檔相片，然後從功能表中選擇**設定**。

1. 在左側導覽功能表中，選擇**開發人員設定**。

1. 在 **GitHub 應用程式**頁面的左側導覽功能表中，選擇**個人存取字符**。

1. 在**個人存取字符**頁面上，選擇**產生新字符**。

1. 在**新增個人存取字符**頁面上，針對**備註**輸入字符的描述性名稱。

1. 在**選取範圍**區段中，選取 **admin：repo\$1hook**。

1. 選擇 **Generate token (產生字符)**。

1. 複製並儲存個人存取字符。當您使用 CLI 或 SDKs 部署 Amplify 應用程式時 CloudFormation，您將需要提供它。

在您的 GitHub 帳戶中安裝 Amplify GitHub 應用程式並產生個人存取字符後，您可以使用 Amplify CLI CloudFormation或 SDKs 部署新的應用程式。使用 `accessToken` 欄位來指定您在先前程序中建立的個人存取字符。如需詳細資訊，請參閱*《Amplify API 參考*》中的 [CreateApp](https://docs.aws.amazon.com/amplify/latest/APIReference/API_CreateApp.html#API_CreateApp_RequestSyntax) 和*AWS CloudFormation 《 使用者指南*》中的 [AWS::Amplify::App](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html)。

下列 CLI 命令會部署新的 Amplify 應用程式，該應用程式使用 GitHub 應用程式進行儲存庫存取。將 *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 應用程式設定 Web 預覽
<a name="setting-up-github-app-pr-previews"></a>

Web 預覽會將對 GitHub 儲存庫提出的每個提取請求 (PR) 部署至唯一的預覽 URL。預覽版現在使用 Amplify GitHub 應用程式來存取您的 GitHub 儲存庫。如需安裝和授權適用於 Web 預覽的 GitHub 應用程式的說明，請參閱 [啟用提取請求的 Web 預覽](pr-previews.md#enable-web-previews) 。