本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS CodeBuild 的來源版本範例
此範例示範如何使用遞交 ID 以外的格式 (也稱為遞交 SHA) 來指定來源的版本。您可以透過下列方式指定來源的版本:
-
對於 Amazon S3 來源供應商,請使用代表組建輸入 ZIP 檔案的數據元版本 ID。
-
對於 CodeCommit、位桶、GitHub 和 GitHub 請使用以下其中一項:
-
提取請求做為提取請求參考 (例如,
refs/pull/1/head
)。 -
分支做為分支名稱。
-
遞交 ID。
-
標籤。
-
參考和遞交 ID。參考可為下列其中之一:
-
標籤 (例如,
refs/tags/mytagv1.0^{full-commit-SHA}
)。 -
分支 (例如,
refs/heads/mydevbranch^{full-commit-SHA}
)。 -
提取請求 (例如,
refs/pull/1/head^{full-commit-SHA}
)。
-
-
只有當您的儲存庫為 GitHub 或者 GitHub 企業級伺服器。
如果您使用參考和遞交 ID 來指定版本,建置的 DOWNLOAD_SOURCE
階段會比您僅提供版本來得更快速。這是因為當您添加引用時, CodeBuild 不需要下載整個儲存庫來尋找遞交。
您可以指定僅具有遞交 ID 的來源版本,例如
12345678901234567890123467890123456789
。如果您執行此操作, CodeBuild 必須下載整個儲存庫來尋找版本。您可以指定具有參考和遞交 ID 的來源版本,以此格式:
(例如,refs
/heads
/branchname
^{full-commit-SHA
}refs/heads/main^{12345678901234567890123467890123456789}
)。如果您執行此操作, CodeBuild 僅會下載指定的分支來查找版本。
若要加快DOWNLOAD_SOURCE
階段,您還可以設置Git 克隆深度設置為較低的數字。 CodeBuild 下載更少版本的存儲庫。
若要指定 GitHub 儲存庫版本,具有提交 ID
-
開啟AWS CodeBuild主控台https://console.aws.amazon.com/codesuite/codebuild/home
。 -
建立建置專案。如需詳細資訊,請參閱 建立組建專案 (主控台) 及 執行建置 (主控台)。除了下列設定外,保留所有設定的預設值:
-
在 Source (來源) 中:
-
針對 Source provider (來源供應商),選擇 GitHub。如果您未連接至 GitHub,請遵循指示來連接。
-
針對 Repository (儲存庫),選擇 Public repository (公有儲存庫)。
-
針對 Repository URL (儲存庫 URL),輸入
https://github.com/aws/aws-sdk-ruby.git
。
-
-
在 Environment (環境) 中:
-
針對 Environment image (環境映像),選擇 Managed image (受管映像)。
-
針對 Operating system (作業系統),請選擇 Amazon Linux 2。
-
針對 Runtime(s) (執行時間),選擇 Standard (標準)。
-
適用於Image (影像),選擇aws/codebuild/amazonlinux2-x86_64-標準:3.0。
-
-
-
針對 Build specifications (組建規格),選擇 Insert build commands (插入組建命令),然後選擇 Switch to editor (切換到編輯器)。
-
在 Build commands (組建命令) 中,將預留位置文字更換為以下內容:
version: 0.2 phases: install: runtime-versions: ruby: 2.6 build: commands: - echo $CODEBUILD_RESOLVED_SOURCE_VERSION
當您使用 Ubuntu 標準映像 2.0,則需要
runtime-versions
區段。在此處,指定了 Ruby 版本 2.6 執行階段,但您可以使用任何執行時間。echo
命令會顯示存放在CODEBUILD_RESOLVED_SOURCE_VERSION
環境變數中原始程式碼的版本。 -
在 Build configuration (組建組態) 上,接受預設值,然後選擇 Start build (開始組建)。
-
對於 Source version (來源版本),輸入
046e8b67481d53bdc86c3f6affdd5d1afae6d369
。這是https://github.com/aws/aws-sdk-ruby.git
儲存庫中遞交的 SHA。 -
選擇 Start build (開始組建)。
-
當組建完成時,您應該會看到下列:
-
在 Build logs (組建日誌) 標籤上,使用的專案來源的版本。請見此處範例。
[Container] Date Time Running command echo $CODEBUILD_RESOLVED_SOURCE_VERSION 046e8b67481d53bdc86c3f6affdd5d1afae6d369 [Container] Date Time Phase complete: BUILD State: SUCCEEDED
-
在 Environment variables (環境變數) 標籤上,Resolved source version (已解決的來源版本) 會符合用來建立組建的遞交 ID。
-
在 Phase details (階段詳細資訊) 標籤上,
DOWNLOAD_SOURCE
階段的持續時間。
-
這些步驟說明如何使用相同版本的來源建立組建。這時,來源的版本是使用具有遞交 ID 的參考指定。
若要指定 GitHub 包含提交 ID 和引用的儲存庫版本
-
從左側導覽窗格,選擇 Build projects (組建專案),然後選擇您稍早建立的專案。
-
選擇 Start build (開始組建)。
-
在 Source version (來源版本) 中,輸入
refs/heads/main^{046e8b67481d53bdc86c3f6affdd5d1afae6d369}
。這是相同的遞交 ID 和分支的參考,格式為
。refs
/heads
/branchname
^{full-commit-SHA
} -
選擇 Start build (開始組建)。
-
當組建完成時,您應該會看到下列:
-
在 Build logs (組建日誌) 標籤上,使用的專案來源的版本。請見此處範例。
[Container] Date Time Running command echo $CODEBUILD_RESOLVED_SOURCE_VERSION 046e8b67481d53bdc86c3f6affdd5d1afae6d369 [Container] Date Time Phase complete: BUILD State: SUCCEEDED
-
在 Environment variables (環境變數) 標籤上,Resolved source version (已解決的來源版本) 會符合用來建立組建的遞交 ID。
-
在 Phase details (階段詳細資訊) 標籤上,
DOWNLOAD_SOURCE
階段的持續時間應該較您僅使用遞交 ID 來指定來源的版本時更短。
-