本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
原始碼版本範例 AWS CodeBuild
此範例示範如何使用遞交 ID 以外的格式 (也稱為遞交 SHA) 來指定來源的版本。您可以透過下列方式指定來源的版本:
-
對於 Amazon S3 來源供應商,請使用代表組建輸入 ZIP 檔案之物件的版本識別碼。
-
對於 CodeCommit、Bitbucket 和 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}
)。
-
-
-
對於 GitLab 和 GitLab 自我管理,請使用下列其中一項:
-
分支做為分支名稱。
-
遞交 ID。
-
標籤。
-
注意
只有在儲存庫為 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 下載較少版本的儲存庫。
使用提交 ID 指定 GitHub 儲存庫版本
-
請在以下位置開啟 AWS CodeBuild 主控台。
https://console.aws.amazon.com/codesuite/codebuild/home -
建立建置專案。如需詳細資訊,請參閱 建立組建專案 (主控台) 及 執行建置 (主控台)。除了下列設定外,保留所有設定的預設值:
-
在 Source (來源) 中:
-
對於來源提供者,請選擇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 (標準)。
-
對於圖像,請選擇 AWS /代碼構建/ 亞馬遜鏈 2-x86_64 標準:4.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 的參考指定。
使用提交 ID 和參照指定 GitHub 儲存庫版本
-
從左側導覽窗格,選擇 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 來指定來源的版本時更短。
-