建立徽章範例 CodeBuild - AWS CodeBuild

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

建立徽章範例 CodeBuild

AWS CodeBuild 現在支持使用構建徽章,它提供了可嵌入的動態生成的圖像(徽章),該圖像(徽章)顯示項目的最新版本的狀態。此圖像可以通過為您的 CodeBuild 項目生成的公開可用 URL 訪問。這可讓任何人檢視 CodeBuild 專案的狀態。組建識別證不包含任何安全資訊,因此不需要身分驗證。

建立啟用建置徽章的建置專案 (主控台)

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

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

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

  4. Source (來源) 中,針對 Source provider (來源供應商),選擇來源碼提供商類型,然後執行下列其中一項:

    注意

    CodeBuild 不支援 Amazon S3 來源供應商的建置徽章。由於 AWS CodePipeline 使用 Amazon S3 進行成品傳輸,因此屬於中建立管道一部分的建置專案不支援建置徽章 CodePipeline。

    • 如果您選擇了 CodeCommit,請針對 Repository (儲存庫) 選擇儲存庫名稱。選取 Enable build badge (啟用組建徽章),讓專案的組建狀態變成可見且可嵌入。

    • 如果您選擇 GitHub,請依照指示進行連線 (或重新連線) GitHub。在 [ GitHub授權應用程式] 頁面上,對於 [組織存取],選擇您想要存取的每個儲存庫旁邊的 [ AWS CodeBuild 要求存取權]。選擇 Authorize application (授權應用程式) 後,請回到 AWS CodeBuild 主控台,針對 Repository (儲存庫) 選擇包含來源碼的儲存庫名稱。選取 Enable build badge (啟用組建徽章),讓專案的組建狀態變成可見且可嵌入。

    • 如果您選擇了 Bitbucket,請遵循說明來與 Bitbucket 連線 (或重新連線)。在 Bitbucket Confirm access to your account (確認存取您的帳戶) 頁面上,針對 Organization access (組織存取),選擇 Grant access (授予存取)。選擇授與存取權後,請返回 AWS CodeBuild 主控台,對於「儲存庫」,選擇包含原始程式碼的儲存庫名稱。選取 Enable build badge (啟用組建徽章),讓專案的組建狀態變成可見且可嵌入。

      重要

      更新您的專案來源可能會影響專案組建徽章的準確度。

  5. 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 使用者指南》中。

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

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

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

    注意

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

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

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

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

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

  8. Artifacts (成品) 中,針對 Type (類型),執行下列其中一項操作:

    • 如果您不要建立建置輸出成品,則請選擇 No artifacts (無成品)

    • 若要將組建輸出存放在 S3 儲存貯體中,請選擇 Amazon S3,然後執行下列動作:

      • 如果您想要使用專案名稱做為組建輸出 ZIP 檔案或資料夾名稱,則請將 Name (名稱) 保留空白。否則請輸入名稱。根據預設,成品名稱是專案名稱。如果想使用不同的名稱,請在成品名稱方塊中輸入名稱。如果要輸出 ZIP 檔案,請包含 zip 副檔名。

      • 針對 Bucket name (儲存貯體名稱),選擇輸出儲存貯體的名稱。

      • 如果您在本程序稍早選擇 Insert build commands (插入組建命令),然後針對 Output files (輸出檔案),輸入要放入組建輸出 ZIP 檔案或資料夾之組建中的檔案位置。針對多個位置,以逗號區隔每個位置 (例如,appspec.yml, target/my-app.jar)。如需詳細資訊,請參閱Buildspec 語法中的 files 描述。

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

  10. 選擇 Create build project (建立建置專案)。在 Review (檢閱) 頁面上,選擇 Start build (開始建置) 來執行建置。

建立啟用建置徽章的建置專案 (CLI)

如需建立組建專案的詳細資訊,請參閱建立建置專案 (AWS CLI)。若要在 AWS CodeBuild 專案中包含組建徽章,您必須指定 badgeEnabled 的值為。true

存取您的 AWS CodeBuild 組建徽章

您可以使用 AWS CodeBuild 控制台或 AWS CLI 訪問構建徽章。

  • 在 CodeBuild 主控台的建置專案清單的 [名稱] 欄中,選擇與建置專案對應的連結。在 [建立專案:專案名稱] 頁面的 [設定] 中,選擇 [複製徽章 URL]。如需詳細資訊,請參閱 檢視建置專案的詳細資訊 (主控台)

  • 在中 AWS CLI,執行命batch-get-projects令。組建識別碼 URL 會包含在輸出的專案環境詳細資訊區段中。如需詳細資訊,請參閱 檢視建置專案的詳細資訊 (AWS CLI)

組建徽章要求 URL 是使用通用預設分支產生的,但是您可以在來源存放庫中指定用來執行組建的任何分支。例如:

https://codebuild.us-east-1.amazon.com/badges?uuid=...&branch=<branch>

您也可以在來源儲存庫中指定標籤,方法是將branch參數取代為標記 URL 中的tag參數。例如:

https://codebuild.us-east-1.amazon.com/badges?uuid=...&tag=<tag>

發佈您的 CodeBuild 組建徽章

您可以使用降價圖像中的構建徽章 URL 在降價文件中顯示最新版本的狀態。這對於在源存儲庫的 readme.md 文件中顯示最新構建的狀態非常有用(例如, GitHub 或)。 CodeCommit例如:

![](<build badge URL>)

CodeBuild 徽章狀態

  • PASSING 在特定分支上的最新組建已通過。

  • FAILING 在特定分支上的最新組建已逾時、故障、錯誤或停止。

  • IN_PROGRESS 在特定分支上的最新組建正在進行中。

  • UNKNOWN 專案尚未針對特定的分支執行組建 (或沒有針對任何項目執行過)。此外,組建識別證功能可能已停用。