使用託管於 S3 儲存貯體中的建置輸出建立靜態網站 - AWS CodeBuild

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

使用託管於 S3 儲存貯體中的建置輸出建立靜態網站

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

  1. 按照設定靜態網站中的說明,將 S3 儲存貯體設定為像網站一樣運作。

  2. 請在以下位置開啟 AWS CodeBuild 主控台。 https://console.aws.amazon.com/codesuite/codebuild/home

  3. 如果顯示 CodeBuild 資訊頁,請選擇 [建立組建專案]。否則,在瀏覽窗格中,展開 [組建],選擇 [建置專案],然後選擇 [建立組建專案]。

  4. Project name (專案名稱) 中,輸入此建置專案的名稱。每個 AWS 帳戶的組建專案名稱必須是唯一的。您還可以包括構建項目的可選描述,以幫助其他用戶了解該項目的用途。

  5. Source (來源) 中,針對 Source provider (來源提供者),選擇 GitHub。依照指示進行連線 (或重新連線) GitHub,然後選擇 [授權]。

    針對 Webhook,選取 Rebuild every time a code change is pushed to this repository (在每次將程式碼變更推送至此儲存庫時重建)。只有當您選擇 Use a repository in my account (使用帳戶中的儲存庫) 時,才能選取此核取方塊。

  6. Environment (環境) 中:

    針對 Environment image (環境映像),執行下列其中一項作業:

    • 若要使用由管理的 Docker 映像檔 AWS CodeBuild,請選擇 [受管理的映像檔],然後從 [作業系統]、[執行階段]、[映像] 和 [映像檔版本] 中進行選取。若可用,請從 Environment type (環境類型) 進行選擇。

    • 若要使用另一個 Docker 映像,請選擇 Custom image (自訂映像)。在「環境類型」中,選擇 ARMLinux 、GPU視窗。如果您選擇 [其他登錄],對於 [外部登錄 URL],請使用格式在 Docker Hub 中輸入 Docker 映像的名稱和標記。docker repository/docker image name如果您選擇 Amazon ECR,請使用 Amazon ECR 存儲庫Amazon ECR 映像在您的帳戶中選擇碼頭映像。 AWS

    • 若要使用私人 Docker 映像檔,請選擇 [自訂映像檔]。在「環境類型」中,選擇 ARMLinux 、GPU視窗。針對 Image registry (映像登錄) 選擇 Other registry (其他登錄),然後輸入私人 Docker 映像的憑證的 ARN。認證必須由 Secrets Manager 建立。如需詳細資訊,請參閱什麼是 AWS Secrets Manager?《AWS Secrets Manager 使用者指南》中。

  7. Service role (服務角色) 中,執行下列其中一項作業:

    • 如果您沒有 CodeBuild 服務角色,請選擇 [新增服務角色]。在角色名稱中,輸入新角色的名稱。

    • 如果您有 CodeBuild 服務角色,請選擇現有服務角色。在角色 ARN 中,選擇服務角色。

    注意

    使用主控台建立或更新組建專案時,您可以同時建立 CodeBuild 服務角色。根據預設,此角色只能與該建置專案搭配運作。如果您使用主控台將此服務角色與另一個建置專案建立關聯,則會更新此角色以與其他建置專案搭配運作。服務角色最多可以與 10 個組建專案搭配運作。

  8. 建構規格中,執行下列其中一項作業:

    • 選擇「使用建置規格檔案」,在原始程式碼根目錄中使用 buildspec.yml 檔案。

    • 選擇 [插入建置命令] 以使用主控台插入建置命令。

    如需更多資訊,請參閱 Buildspec 參考

  9. 成品中,對於類型,選擇 Amazon S3 將組建輸出存放在 S3 儲存貯體中。

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

  11. 如果您在環境中選擇 [插入建置命令],則對於 [輸出檔案],請輸入組建中要放入輸出值區的檔案位置。如果您有多個位置,請使用逗號分隔每個位置 (例如 appspec.yml, target/my-app.jar)。如需詳細資訊,請參閱 Artifacts reference-key in the buildspec file

  12. 選取 Disable artifacts encryption (停用成品加密)

  13. 展開 Additional configuration (其他組態),並適當地選擇選項。

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

  15. (可選)遵循 Amazon Amazon S3 開發人員指南範例:使用 Amazon CloudFront 加快您的網站速度