建立組建專案 (主控台) - AWS CodeBuild

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

建立組建專案 (主控台)

開啟主 AWS CodeBuild 控台,網址為 https://console.aws.amazon.com/codesuite/codebuild/home

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

選擇 Create build project (建立建置專案)

填寫以下各節。完成後,選擇頁面底部的 [建立建置專案]。

項目配置

Project name (專案名稱)

輸入此組建專案的名稱。每個 AWS 帳戶的組建專案名稱必須是唯一的。

Description

輸入建置專案的選用描述,以協助其他使用者瞭解此專案的用途。

建立徽章

(選擇性) 選取 [啟用組建徽章],讓專案的建置狀態可見且可嵌入。如需詳細資訊,請參閱 建置徽章範例

注意

如果您的來源供應商是 Amazon S3,則不適用建立徽章。

啟用並行建置限制

(選擇性) 如果您要限制此專案的並行建置數目,請執行下列步驟:

  1. 選取「限制此專案可啟動的並行建構數目」。

  2. 並行建構限制中,輸入此專案允許的並行建構數目上限。此限制不得大於針對帳戶設定的並行建置限制。如果您嘗試輸入的數字大於帳號限制,則會顯示錯誤訊息。

只有當目前的建置數量小於或等於此限制時,才會啟動新的建置。如果目前的建置計數符合此限制,則會調節新的建置且不會執行。

其他資訊

(選擇性) 針對標籤,輸入您希望支援 AWS 服務使用之任何標籤的名稱和值。使用 Add row (新增資料列) 來新增標籤。您最多可新增 50 個標籤。

來源

來源提供者

選擇源代碼提供者類型。使用下列清單來選取適合您的來源提供者的選項:

注意

CodeBuild 不支援比特桶伺服器。

Amazon S3
儲存貯體

選擇包含原始程式碼之輸入值區的名稱。

S3 物件金鑰或 S3 資料夾

輸入 ZIP 檔案的名稱或包含原始程式碼之資料夾的路徑。輸入正斜線 (/) 以下載 S3 儲存貯體中的所有項目。

來源版本

輸入代表輸入檔案組建之物件的版本 ID。如需詳細資訊,請參閱 原始碼版本範例 AWS CodeBuild

CodeCommit
儲存庫

選擇您要使用的存放庫。

參考類型

選擇「分支」、「Git 標籤」或「提交 ID」來指定原始程式碼的版本。如需詳細資訊,請參閱 原始碼版本範例 AWS CodeBuild

注意

我們建議您選擇看起來不像提交 ID 的 Git 分支名稱,例如811dd1ba1aba14473856cee38308caed7190c0d5392f7. 這有助於避免與實際提交的 Git 結帳衝突。

Git 克隆深度

選擇此選項可建立歷程記錄截斷為指定數目的簡易複製。如果您想要完整複製,請選擇 Full (完整)

Git 子模塊

若您要將 Git 子模組包含在您的儲存庫中,請選擇Use Git submodules (使用 Git 子模組)

Bitbucket
儲存庫

選擇 [使用 OAuth Connec t] 或 [使用 Bitbucket 應用程式密碼連線],然後依照指示進行連線 (或重新連線) 至 Bitbucket。

在您的帳戶中選擇一個公共存儲庫或存儲庫。

來源版本

輸入分支、提交 ID、標籤或參照,以及提交 ID。如需更多資訊,請參閱原始碼版本範例 AWS CodeBuild

注意

我們建議您選擇看起來不像提交 ID 的 Git 分支名稱,例如811dd1ba1aba14473856cee38308caed7190c0d5392f7. 這有助於避免與實際提交的 Git 結帳衝突。

Git 克隆深度

選擇 Git clone depth (Git 複製深度),建立記錄截取至指定遞交數的 Shallow 複製。如果您想要完整複製,請選擇 Full (完整)

Git 子模塊

若您要將 Git 子模組包含在您的儲存庫中,請選擇Use Git submodules (使用 Git 子模組)

建置狀態

如果您想要將組建的開始和完成狀態報告給來源提供者,請選取 [在組建開始和完成時向來源提供者報告組建狀態]。

若要能夠向來源提供者報告組建狀態,與來源提供者關聯的使用者必須具有存放庫的寫入存取權。如果使用者沒有寫入權限,則無法更新組建狀態。如需詳細資訊,請參閱 來源提供者存取

針對狀態內容,請在 Bitbucket 認可狀態中輸入要用於name參數的值。如需詳細資訊,請參閱 Bitbucket API 文件中的建置

針對目標 URL,請在 Bitbucket 認可狀態中輸入要用於url參數的值。如需詳細資訊,請參閱 Bitbucket API 文件中的建置

由 webhook 觸發的構建狀態始終報告給源提供程序。若要讓從主控台啟動的組建狀態,或向來源提供者報告 API 呼叫,您必須選取此設定。

如果您的項目的構建是由 webhook 觸發的,則必須將新的提交推送到存儲庫,以使對此設置的更改生效。

如果您想要在每次將程式碼變更推送至此儲存庫時建立原始程式碼,請在 [主 CodeBuild 要來源 webhook 事件] 中選取 [每次程式碼變更推送至此儲存庫時重建]。如需有關 Webhook 和篩選器群組的詳細資訊,請參閱比特桶網絡鉤事件

GitHub
儲存庫

選擇 [使用 OAuth Connect] 或 [使用個 GitHub 人存取權杖連線],然後依照指示進行連線 (或重新連線) GitHub 並授權存取 AWS CodeBuild權。

在您的帳戶中選擇一個公共存儲庫或存儲庫。

來源版本

輸入分支、提交 ID、標籤或參照,以及提交 ID。如需更多資訊,請參閱原始碼版本範例 AWS CodeBuild

注意

我們建議您選擇看起來不像提交 ID 的 Git 分支名稱,例如811dd1ba1aba14473856cee38308caed7190c0d5392f7. 這有助於避免與實際提交的 Git 結帳衝突。

Git 克隆深度

選擇 Git clone depth (Git 複製深度),建立記錄截取至指定遞交數的 Shallow 複製。如果您想要完整複製,請選擇 Full (完整)

Git 子模塊

若您要將 Git 子模組包含在您的儲存庫中,請選擇Use Git submodules (使用 Git 子模組)

建置狀態

如果您想要將組建的開始和完成狀態報告給來源提供者,請選取 [在組建開始和完成時向來源提供者報告組建狀態]。

若要能夠向來源提供者報告組建狀態,與來源提供者關聯的使用者必須具有存放庫的寫入存取權。如果使用者沒有寫入權限,則無法更新組建狀態。如需詳細資訊,請參閱 來源提供者存取

在「狀態」內容中,輸入要用於 GitHub 確認狀態中context參數的值。如需詳細資訊,請參閱 GitHub 開發人員指南中的建立提交狀態

在「目標 URL」中,輸入 GitHub 確認狀態中要用於target_url參數的值。如需詳細資訊,請參閱 GitHub 開發人員指南中的建立提交狀態

由 webhook 觸發的構建狀態始終報告給源提供程序。若要讓從主控台啟動的組建狀態,或向來源提供者報告 API 呼叫,您必須選取此設定。

如果您的項目的構建是由 webhook 觸發的,則必須將新的提交推送到存儲庫,以使對此設置的更改生效。

如果您想要在每次將程式碼變更推送至此儲存庫時建立原始程式碼,請在 [主 CodeBuild 要來源 webhook 事件] 中選取 [每次程式碼變更推送至此儲存庫時重建]。如需有關 Webhook 和篩選器群組的詳細資訊,請參閱GitHub 網絡掛鉤事件

GitHub Enterprise Server
GitHub 企業個人存取權杖

如需有GitHub 企業伺服器範例關如何將個人存取權杖複製到剪貼簿的資訊,請參閱。將字符貼入文字欄位,接著選擇 Save Token (儲存字符)

注意

您只需要輸入及儲存個人存取字符一次。 CodeBuild 在 future 的所有項目中使用此令牌。

來源版本

輸入提取請求、分支、提交 ID、標籤或參照,以及提交 ID。如需詳細資訊,請參閱 原始碼版本範例 AWS CodeBuild

注意

我們建議您選擇看起來不像提交 ID 的 Git 分支名稱,例如811dd1ba1aba14473856cee38308caed7190c0d5392f7. 這有助於避免與實際提交的 Git 結帳衝突。

Git 克隆深度

選擇 Git clone depth (Git 複製深度),建立記錄截取至指定遞交數的 Shallow 複製。如果您想要完整複製,請選擇 Full (完整)

Git 子模塊

若您要將 Git 子模組包含在您的儲存庫中,請選擇Use Git submodules (使用 Git 子模組)

建置狀態

如果您想要將組建的開始和完成狀態報告給來源提供者,請選取 [在組建開始和完成時向來源提供者報告組建狀態]。

若要能夠向來源提供者報告組建狀態,與來源提供者關聯的使用者必須具有存放庫的寫入存取權。如果使用者沒有寫入權限,則無法更新組建狀態。如需詳細資訊,請參閱 來源提供者存取

在「狀態」內容中,輸入要用於 GitHub 確認狀態中context參數的值。如需詳細資訊,請參閱 GitHub 開發人員指南中的建立提交狀態

在「目標 URL」中,輸入 GitHub 確認狀態中要用於target_url參數的值。如需詳細資訊,請參閱 GitHub 開發人員指南中的建立提交狀態

由 webhook 觸發的構建狀態始終報告給源提供程序。若要讓從主控台啟動的組建狀態,或向來源提供者報告 API 呼叫,您必須選取此設定。

如果您的項目的構建是由 webhook 觸發的,則必須將新的提交推送到存儲庫,以使對此設置的更改生效。

不安全的 SSL

選取「啟用不安全的 SSL」可在連線至 GitHub 企業專案存放庫時忽略 SSL 警告。

如果您想要在每次將程式碼變更推送至此儲存庫時建立原始程式碼,請在 [主 CodeBuild 要來源 webhook 事件] 中選取 [每次程式碼變更推送至此儲存庫時重建]。如需有關 Webhook 和篩選器群組的詳細資訊,請參閱GitHub 網絡掛鉤事件

GitLab
Connection (連線)

使用 Connect 連接您的 GitLab 帳戶 AWS CodeConnections,並使用連接將第三方存儲庫關聯為構建項目的源。

選擇預設連線自訂連線

預設連線會在所有專案中套用預設 GitLab 連線。自訂連線會套用覆寫帳戶預設設定的自訂 GitLab 連線。

預設連線

與您的帳戶相關聯的預設連線名稱。

如果您尚未建立與提供者的連線,請參閱以建立連線至 GitLab (主控台)取得指示。

自訂連線

選擇您要使用的自訂連線名稱。

如果您尚未建立與提供者的連線,請參閱以建立連線至 GitLab (主控台)取得指示。

儲存庫

選擇您要使用的存放庫。

來源版本

輸入提取請求 ID、分支、提交 ID、標籤或參照,以及提交 ID。如需詳細資訊,請參閱 原始碼版本範例 AWS CodeBuild

注意

我們建議您選擇看起來不像提交 ID 的 Git 分支名稱,例如811dd1ba1aba14473856cee38308caed7190c0d5392f7. 這有助於避免與實際提交的 Git 結帳衝突。

Git 克隆深度

選擇 Git clone depth (Git 複製深度),建立記錄截取至指定遞交數的 Shallow 複製。如果您想要完整複製,請選擇 Full (完整)

建置狀態

如果您想要將組建的開始和完成狀態報告給來源提供者,請選取 [在組建開始和完成時向來源提供者報告組建狀態]。

若要能夠向來源提供者報告組建狀態,與來源提供者關聯的使用者必須具有存放庫的寫入存取權。如果使用者沒有寫入權限,則無法更新組建狀態。如需詳細資訊,請參閱 來源提供者存取

GitLab Self Managed
Connection (連線)

使用 Connect 連接您的 GitLab 帳戶 AWS CodeConnections,並使用連接將第三方存儲庫關聯為構建項目的源。

選擇預設連線自訂連線

預設連線會在所有專案中套用預設的「 GitLab 自我管理」連線。自訂連線會套用 GitLab 自訂「自我管理」連線,該連線會覆寫您帳戶的預設設定。

預設連線

與您的帳戶相關聯的預設連線名稱。

如果您尚未建立與提供者的連線,請參閱開發人員工具主控台使用者指南中的建立與 GitLab 自我管理的連線以取得指示。

自訂連線

選擇您要使用的自訂連線名稱。

如果您尚未建立與提供者的連線,請參閱開發人員工具主控台使用者指南中的建立與 GitLab 自我管理的連線以取得指示。

儲存庫

選擇您要使用的存放庫。

來源版本

輸入提取請求 ID、分支、提交 ID、標籤或參照,以及提交 ID。如需詳細資訊,請參閱 原始碼版本範例 AWS CodeBuild

注意

我們建議您選擇看起來不像提交 ID 的 Git 分支名稱,例如811dd1ba1aba14473856cee38308caed7190c0d5392f7. 這有助於避免與實際提交的 Git 結帳衝突。

Git 克隆深度

選擇 Git clone depth (Git 複製深度),建立記錄截取至指定遞交數的 Shallow 複製。如果您想要完整複製,請選擇 Full (完整)

建置狀態

如果您想要將組建的開始和完成狀態報告給來源提供者,請選取 [在組建開始和完成時向來源提供者報告組建狀態]。

若要能夠向來源提供者報告組建狀態,與來源提供者關聯的使用者必須具有存放庫的寫入存取權。如果使用者沒有寫入權限,則無法更新組建狀態。如需詳細資訊,請參閱 來源提供者存取

環境

佈建模式

執行以下任意一項:

  • 若要使用由管理的隨選叢集 AWS CodeBuild,請選擇 [選]。透過隨選叢集,為您的組建 CodeBuild 提供運算。當構建完成時,機器將被銷毀。隨需叢集是全受管的,並包含自動擴充功能,可處理尖峰的需求。

  • 若要使用由管理的保留容量叢集 AWS CodeBuild,請選擇保留容量,然後選取叢集名稱。使用預留容量叢集,您可以為建置環境設定一組專用執行個體。這些機器保持閒置狀態,可立即處理構建或測試,並減少構建持續時間。使用保留容量叢集時,您的機器會一直在執行,而且只要佈建機器就會繼續產生成本。

如需相關資訊,請參閱使用保留容量 AWS CodeBuild

環境影像

執行以下任意一項:

  • 若要使用由管理的 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 使用者指南》中。

注意

CodeBuild 會覆寫自ENTRYPOINT訂泊塢視窗影像的。

運算

執行以下任意一項:

  • 若要使用 EC2 運算,請選擇 EC2。EC2 運算在動作執行期間提供最佳化的彈性。

  • 若要使用 Lambda 運算,請選擇 Lambda。Lambda 運算為您的組建提供最佳化的啟動速度。由於啟動延遲較低,Lambda 支援更快的建置速度。Lambda 也會自動擴展,因此組建不會在佇列中等待執行。如需相關資訊,請參閱在中使用 AWS Lambda 計算 AWS CodeBuild

服務角色

執行以下任意一項:

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

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

注意

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

其他組態
Timeout (逾時)

指定介於 5 分鐘到 8 小時之間的值,如果建置未完成,則 CodeBuild 會停止建置。如果 hours (小時)minutes (分鐘) 空白,則會使用預設值 60 分鐘。

特權

(選擇性) 如果您想要建置 Docker 映像檔,或是希望組建只有在您打算使用此建置專案建置 Docker 映像時才能取得提升的權限,請選取 [啟用此旗標]。否則,所有嘗試與 Docker 協助程式互動的相關建置都會失敗。您也必須啟動 Docker 協助程式,以讓您的建置與其互動。執行這項操作的一種方式是執行下列建置命令,以在建置規格的 install 階段中初始化 Docker 協助程式。如果您選擇由 CodeBuild Docker 支援提供的建置環境映像檔,請勿執行這些命令。

注意

依預設,非 VPC 組建會啟用 Docker 精靈。如果您想使用 Docker 容器進行 VPC 構建,請參閱 Docker 文檔網站上的運行時特權和 Linux 功能並啟用特權模式。此外,Windows 不支援特殊權限模式。

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay2 & - timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
VPC

如果您想 CodeBuild 要使用 VPC:

  • 對於 VPC,請選擇使 CodeBuild 用的 VPC 識別碼。

  • 對於 VPC 子網路,請選擇包含使用之資源的子網路。 CodeBuild

  • 對於 VPC 安全性群組,請選擇 CodeBuild 用來允許存取 VPC 中資源的安全性群組。

如需詳細資訊,請參閱 搭 AWS CodeBuild 配 Amazon Virtual Private Cloud 使用

運算

選擇其中一個可用選項。

環境變數

輸入名稱和值,然後選擇要使用之組建之每個環境變數的類型。

注意

CodeBuild 自動設定「 AWS 區域」的環境變數。如果您尚未在 buildspec.yml 中加入環境變數,您必須加以設定:

  • AWS_ACCOUNT_ID

  • IMAGE_REPO_NAME

  • IMAGE_TAG

控制台和 AWS CLI 用戶可以看到環境變量。如果您不在意環境變數的可見性,請設定 Name (名稱)Value (值) 欄位,然後將 Type (類型) 設定為 Plaintext (純文字)

我們建議您將具有敏感值的環境變數 (例如 AWS 存取金鑰 ID、 AWS 秘密存取金鑰或密碼) 存放在 Amazon EC2 Systems Manager 參數存放區或 AWS Secrets Manager。

如果您使用 Amazon EC2 Systems Manager 參數存放區,請選擇「參數」做為「類型」。在「名稱」中,輸入 CodeBuild 要參考的識別碼。在中,輸入存放在 Amazon EC2 Systems Manager 參數存放區中的參數名稱。使用名為 /CodeBuild/dockerLoginPassword 的參數做為範例,針對 Type (類型),選擇 Parameter (參數)。針對名稱,輸入 LOGIN_PASSWORD。針對數值,輸入 /CodeBuild/dockerLoginPassword

重要

如果您使用 Amazon EC2 Systems Manager 參數存放區,建議您使用開頭的參數名稱來存放參數 /CodeBuild/ (例如,/CodeBuild/dockerLoginPassword)。您可以使用 CodeBuild 主控台在 Amazon EC2 Systems Manager 中建立參數。選擇 Create parameter (建立參數),然後遵循對話方塊中的說明。在該對話方塊中,對於 KMS 金鑰,您可以指定帳戶中金 AWS KMS 鑰的 ARN。 Amazon EC2 Systems Manager 使用此金鑰在儲存期間加密參數的值,並在擷取期間將其解密。) 如果您使用 CodeBuild 主控台建立參數,則主控台會在儲存參數名稱時以其開始。/CodeBuild/如需詳細資訊,請參閱 Amazon EC2 Systems Manager 使用指南中的 Systems Manager 參數存放區和系統管理員參數存放主控台逐步解說

如果您的建置專案參考存放在 Amazon EC2 Systems Manager 參數存放區中的參數,則建置專案的服務角色必須允許該ssm:GetParameters動作。如果您先前選擇 [新增服務角色],請將此動作 CodeBuild 包含在組建專案的預設服務角色中。不過,如果您選擇 Existing service role (現有服務角色),則您必須個別將此動作包含在服務角色中。

如果您的建置專案參照存放在 Amazon EC2 Systems Manager 參數存放區中,參數名稱不是開頭為的參數/CodeBuild/,且您選擇了新服務角色,則必須更新該服務角色,以允許存取開頭不是以的參數名稱/CodeBuild/。這是因為該服務角色僅允許存取開頭為 /CodeBuild/ 的參數名稱。

如果選擇 [新增服務角色],服務角色會包含解密 Amazon EC2 Systems Manager 參數存放區中/CodeBuild/命名空間下所有參數的權限。

您設定的環境變數會取代現有環境變數。例如,如果 Docker 影像已包含名為 MY_VAR 且值為 my_value 的環境變數,而且您設定名為 MY_VAR 且值為 other_value 的環境變數,則 my_value 會取代為 other_value。同樣地,如果 Docker 影像已包含名為 PATH 且值為 /usr/local/sbin:/usr/local/bin 的環境變數,而且您設定名為 PATH 且值為 $PATH:/usr/share/ant/bin 的環境變數,則 /usr/local/sbin:/usr/local/bin 會取代為文字值 $PATH:/usr/share/ant/bin

請不要設定名稱開頭為 CODEBUILD_ 的任何環境變數。此字首保留供 內部使用。

如果有多個位置定義同名的環境變數,則會決定值,如下所示:

  • 開始建置操作呼叫中的值會採用最高優先順序。

  • 組建專案定義中的值會採用下一個優先順序。

  • buildspec 宣告中的值會採用最低優先順序。

如果您使用 Secrets Manager,請選擇 Secrets Manager 做為類型。在「名稱」中,輸入 CodeBuild 要參考的識別碼。針對 Value (值),請、使用 secret-id:json-key:version-stage:version-id 模式輸入 reference-key。如需相關資訊,請參閱Secrets Manager reference-key in the buildspec file

重要

如果您使用「Secrets Manager」,建議您以 /CodeBuild/ (例如/CodeBuild/dockerLoginPassword) 開頭的名稱來儲存密碼。如需詳細資訊,請參閱什麼是 AWS Secrets Manager?《AWS Secrets Manager 使用者指南》中。

如果您的組建專案參照儲存在 Secrets Manager 中的密碼,則組建專案的服務角色必須允許該secretsmanager:GetSecretValue動作。如果您先前選擇 [新增服務角色],請將此動作 CodeBuild 包含在組建專案的預設服務角色中。不過,如果您選擇 Existing service role (現有服務角色),則您必須個別將此動作包含在服務角色中。

如果您的組建專案參照儲存在 Secrets Manager 中的密碼/CodeBuild/,而且您選擇了新服務角色,則必須更新服務角色,以允許存取開頭不是以的密碼名稱/CodeBuild/。這是因為服務角色只允許存取以開頭的密碼名稱/CodeBuild/

如果您選擇 [新增服務角色],服務角色會包含解密 Secrets Manager 中/CodeBuild/命名空間下所有密碼的權限。

建置規格

建置規格

執行以下任意一項:

  • 如果您的來源碼包含 buildspec 檔案,請選擇 Use a buildspec file (使用 buildspec 檔案)。依預設,會 CodeBuild尋找在原始程式碼根目錄buildspec.yml中名為的檔案。如果您的 buildspec 檔案使用不同的名稱或位置,請在 Buildspec 名稱中從來源根目錄輸入路徑 (例如,或. buildspec-two.yml configuration/buildspec.yml 如果 buildspec 檔案位於 S3 儲存貯體中,則該檔案必須與您的建置專案位於相同的 AWS 區域。 使用其 ARN 指定構建規格文件(例如,)。arn:aws:s3:::<my-codebuild-sample2>/buildspec.yml

  • 如果您的來源碼未包含 buildspec 檔案,或者,您要執行的組建命令與針對 build 階段 (位於來源碼根目錄的 buildspec.yml 檔案中) 所指定的組建命令不同,則請選擇 Insert build commands (插入組建命令)。針對 Build commands (組建命令),在 build 階段中輸入您要執行的命令。針對多個命令,以 && 區隔每個命令 (例如,mvn test && mvn package)。若要在其他階段執行命令,或者您有一長串的build階段指令,請將buildspec.yml檔案新增至原始程式碼根目錄,將指令新增至檔案,然後在原始程式碼根目錄中選擇 [使用 buildspec.yml]。

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

Batch 設定

您可以將組建群組當做單一作業執行。如需詳細資訊,請參閱 Batch 建置 AWS CodeBuild

定義批次組態

選取此選項可允許批次建置在此專案中。

Batch 服務角色

提供批次組建的服務角色。

選擇下列其中一項:

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

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

Batch 組建會在批次設定中引入新的資訊安全角色。此新角色是必要的,因為 CodeBuild 必須能夠代表您呼叫StartBuildStopBuild、和RetryBuild動作,才能在批次中執行組建。客戶應該使用新角色,而不是在組建中使用的角色,原因有兩個:

  • 賦予構建角色 StartBuildStopBuild,和RetryBuild權限將允許單個構建通過 buildspec 啟動更多構建。

  • CodeBuild 批次組建會提供限制,限制可用於批次中組建的組建數量和運算類型。如果組建角色具有這些權限,則組建本身可能會略過這些限制。

批次允許的運算類型

選取批次允許的運算類型。選取所有適用的項目。

批次允許的最大組建

輸入批次中允許的最大建構數目。如果批次超過此限制,批次就會失敗。

Batch 逾時

輸入批次建置完成的時間上限。

合併成品

選取「將批次中的所有人工因素合併至單一位置」,以將批次中的所有人工因素合併至單一位置。

Batch 報告模式

為批次組建選取所需的建置狀態報告模式。

注意

只有當專案來源為 Bitbucket 或 GitHub企業 GitHub,並且在 [來源] 下選取 [組建開始和結束] 時,才能使用此欄位。

彙總組建

選取此選項可將批次中所有建構的狀態合併為單一狀態報表。

個別組建

選取此選項可分別報告批次中所有組建的建構狀態。

成品

類型

執行以下任意一項:

  • 如果您不要建立任何建置輸出成品,則請選擇 No artifacts (無成品)。如果您只執行建置測試,或者想要將 Docker 映像推送到 Amazon ECR 存放庫,則可能需要執行此操作。

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

    • 如果您想要使用專案名稱做為組建輸出 ZIP 檔案或資料夾名稱,則請將 Name (名稱) 保留空白。否則請輸入名稱。(如果您想要輸出 ZIP 檔案,並且想要 ZIP 檔案有副檔名,則請務必將其包含在 ZIP 檔案名稱後面。)

    • 如果您想要 buildspec 檔案中所指定的名稱來覆寫主控台中所指定的任何名稱,請選取 Enable semantic versioning (啟用語意版本控制)。buildspec 檔案中的名稱是在建置時計算,並使用 Shell 命令語言。例如,您可以將日期和時間附加到成品名稱,讓它一律是唯一的。唯一成品名稱可防止覆寫成品。如需詳細資訊,請參閱 Buildspec 語法

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

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

    • 如果您不想要加密建置成品,請選取 Remove artifacts encryption (移除成品加密)

針對您想要的每組次要成品:

  1. 針對 Artifact identifier (成品識別符),輸入的值少於 128 個字元,並且只包含英數字元和底線。

  2. 選擇 Add artifact (新增成品)

  3. 遵循先前的步驟來設定您的次要成品。

  4. 選擇 Save artifact (儲存成品)

其他組態
加密金鑰

(選擇性) 執行下列操作:

  • 若要在帳戶中使 AWS 受管金鑰 用 Amazon S3 加密建置輸出成品,請將加密金鑰保留空白。此為預設值。

  • 若要使用客戶受管金鑰來加密組建輸出成品,請在加密金鑰中,輸入 KMS 金鑰的 ARN。使用 arn:aws:kms:region-ID:account-ID:key/key-ID 格式。

快取類型

針對 Cache type (快取類型),選擇以下其中一項:

  • 如果您不想要使用快取,請選擇 No cache (無快取)

  • 如果您想要使用 Amazon S3 快取,請選擇 Amazon S3,然後執行下列動作:

    • 針對 Bucket (儲存貯體),選擇存放快取的 S3 儲存貯體名稱。

    • (選擇性) 對於快取路徑前置詞,請輸入 Amazon S3 路徑前置詞。Cache path prefix (快取路徑字首) 值類似目錄名稱。它可讓您將快取存放至儲存貯體的相同目錄下方。

      重要

      請不要在路徑字首結尾附加尾端斜線 (/)。

  • 如果您想要使用本機快取,請選擇 Local (本機),然後選擇一或多個本機快取模式。

    注意

    「Docker layer cache」(Docker 層快取) 模式僅適用於 Linux。如果您選擇此模式,您的專案必須以特殊權限模式執行。

使用快取可節省大量建置時間,因為建置環境的可重複使用部分存放在快取中,並用於各建置。如需在 buildspec 檔案中指定快取的詳細資訊,請參閱Buildspec 語法。如需快取的詳細資訊,請參閱「在 AWS CodeBuild 中建立快取」。

日誌

選擇您要建立的記錄檔。您可以建立 Amazon CloudWatch 日誌、Amazon S3 日誌,或兩者兼而有之。

CloudWatch

如果你想要 Amazon CloudWatch 日誌日誌:

CloudWatch 日誌

選取CloudWatch 記錄檔

Group name (群組名稱)

輸入您的 Amazon CloudWatch 日誌日誌群組的名稱。

串流名稱

輸入您的 Amazon CloudWatch 日誌日誌流名稱。

S3

如果你想要 Amazon S3 日誌:

S3 日誌

選取 S3 logs (S3 日誌)

儲存貯體

選擇日誌的 S3 儲存貯體名稱。

路徑前綴

輸入記錄檔的前置字元。

停用 S3 日誌加密

如果您不想要加密 S3 日誌,請選取此選項。