

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

# 使用託管於 S3 儲存貯體中的建置輸出建立靜態網站
<a name="sample-disable-artifact-encryption"></a>

您可以停用組建中的成品加密。建議您執行此作業，如此一來您就可以將成品發佈至設定為託管網站的位置。(您不能發佈加密成品。) 此範例說明如何使用 Webhooks 觸發建置，並將其成品發佈到設定為網站的 S3 儲存貯體。

1.  按照[設定靜態網站](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html)中的說明，將 S3 儲存貯體設定為像網站一樣運作。

1. 在 https：//[https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home) 開啟 AWS CodeBuild 主控台。

1.  如果顯示 CodeBuild 資訊頁面，請選擇**建立組建專案**。否則，請在導覽窗格中展開**組**建，選擇**組建專案**，然後選擇**建立組建專案**。

1. 在 **Project name (專案名稱)** 中，輸入此建置專案的名稱。組建專案名稱在每個 AWS 帳戶中必須是唯一的。您也可以包含建置專案的選用描述，以協助其他使用者了解此專案的用途。

1.  在 **Source (來源)** 中，針對 **Source provider (來源供應商)**，選擇 **GitHub**。請遵循說明來與 GitHub 連線 (或重新連線)，然後選擇 **Authorize (授權)**。

    針對 **Webhook**，選取 **Rebuild every time a code change is pushed to this repository (在每次將程式碼變更推送至此儲存庫時重建)**。只有當您選擇 **Use a repository in my account (使用帳戶中的儲存庫)** 時，才能選取此核取方塊。  
![\[Webhook 組態。\]](http://docs.aws.amazon.com/zh_tw/codebuild/latest/userguide/images/webhook.png)

1. 在 **Environment (環境)** 中：

   針對 **Environment image (環境映像)**，執行下列其中一項作業：
   + 若要使用由 管理的 Docker 映像 AWS CodeBuild，請選擇**受管映像**，然後從**作業系統**、**執行期 （些）**、**映像**和**映像版本**進行選擇。若可用，請從 **Environment type (環境類型)** 進行選擇。
   + 若要使用另一個 Docker 映像，請選擇 **Custom image (自訂映像)**。針對**環境類型**，選擇 **ARM**、**Linux**、**Linux GPU** 或 **Windows**。如果您選擇**其他登錄**檔，請針對**外部登錄檔 URL**，使用 格式，在 Docker Hub 中輸入 Docker 映像檔的名稱和標籤`docker repository/docker image name`。如果您選擇 **Amazon ECR**，請使用 **Amazon ECR 儲存庫**和 **Amazon ECR 映像**來選擇 AWS 帳戶中的 Docker 映像。
   + 若要使用私有 Docker 映像，請選擇**自訂映像**。針對**環境類型**，選擇 **ARM**、**Linux**、**Linux GPU** 或 **Windows**。針對 **Image registry (映像登錄)** 選擇 **Other registry (其他登錄)**，然後輸入私人 Docker 映像的憑證的 ARN。登入資料必須由 Secrets Manager 建立。如需詳細資訊，請參閱《 AWS Secrets Manager使用者指南》**中的 [What Is AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/)。

1. 在 **Service role (服務角色)** 中，執行下列其中一項作業：
   + 如果您沒有 CodeBuild 服務角色，請選擇**新服務角色**。在**角色名稱**中，輸入新角色的名稱。
   + 如果您有 CodeBuild 服務角色，請選擇**現有服務角色**。在**角色 ARN** 中，選擇服務角色。
**注意**  
當您使用 主控台建立或更新組建專案時，您可以同時建立 CodeBuild 服務角色。根據預設，此角色只能與該建置專案搭配運作。如果您使用主控台將此服務角色與另一個建置專案建立關聯，則會更新此角色以與其他建置專案搭配運作。服務角色最多可以與 10 個組建專案搭配運作。

1. 在 **Buildspec** 中，執行下列其中一項操作：
   + 選擇**使用 buildspec 檔案**以使用來源碼根目錄中的 buildspec.yml 檔案。
   + 選擇**插入建置命令**以使用主控台插入建置命令。

   如需更多資訊，請參閱[Buildspec 參考](build-spec-ref.md)。

1.  在**成品**中，針對**類型**選擇 **Amazon S3**，將建置輸出存放在 S3 儲存貯體中。

1.  針對 **Bucket name (儲存貯體名稱)**，選擇您設定做為網站的 S3 儲存貯體的名稱。

1.  如果您選擇在**環境中****插入組建命令**，則針對**輸出檔案**，輸入您要放入輸出儲存貯體之組建中檔案的位置。如果您有多個位置，請使用逗號分隔每個位置 (例如 **appspec.yml, target/my-app.jar**)。如需詳細資訊，請參閱[Artifacts reference-key in the buildspec file](build-spec-ref.md#artifacts-build-spec)。

1.  選取 **Disable artifacts encryption (停用成品加密)**。

1. 展開 **Additional configuration (其他組態)**，並適當地選擇選項。

1. 選擇 **Create build project (建立建置專案)**。在組建專案頁面上，在 **Build history (組建歷史記錄)** 中選擇 **Start build (啟動組建)** 來執行組建。

1.  （選用） 遵循《[Amazon S3 開發人員指南》中的範例：使用 Amazon CloudFront 加速您的網站](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-cloudfront-walkthrough.html)。 *Amazon S3 * 