本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建置環境運算模式和類型
在中 CodeBuild,您可以指定用來執行組建的計算和執行階段環境映像檔。 CodeBuild 計算是指由管理及維護的運算引擎 (CPU、記憶體和作業系統) CodeBuild。執行階段環境映像檔是在您選擇的運算平台之上執行的容器映像檔,其中包含組建可能需要的額外工具,例如 AWS CLI.
關於運算模式
CodeBuild 提供下列運算模式:
-
EC2
-
AWS Lambda
EC2 在建置期間提供最佳化的彈性,並 AWS Lambda 提供最佳化的啟動速度。 AWS Lambda 由於較低的啟動延遲,因此支援更快的組建。 AWS Lambda 也會自動擴展,因此構建不會在隊列中等待運行。如需詳細資訊,請參閱 在中使用AWS Lambda計算 AWS CodeBuild。
關於環境類型
AWS CodeBuild 為建置環境提供下列可用記憶體、vCPUs 和磁碟空間,適用於 EC2 運算模式:
運算類型 | 環境 computeType 值 | 環境類型值 | 記憶體 | vCPU | 磁碟空間 |
---|---|---|---|---|---|
小臂 | BUILD_GENERAL1_SMALL |
ARM_CONTAINER |
4 GB | 2 | 50 GB |
手臂大 | BUILD_GENERAL1_LARGE |
ARM_CONTAINER |
16 GB | 8 | 50 GB |
小型 | BUILD_GENERAL1_SMALL |
LINUX_CONTAINER |
3 GB | 2 | 64 GB |
中型 | BUILD_GENERAL1_MEDIUM |
LINUX_CONTAINER |
7 GB | 4 | 128 GB |
大型 | BUILD_GENERAL1_LARGE |
LINUX_CONTAINER |
15 GB | 8 | 128 GB |
大型 | BUILD_GENERAL1_XLARGE |
LINUX_CONTAINER |
70 英鎊 | 36 | 256 GB |
大型 | BUILD_GENERAL1_2XLARGE |
LINUX_CONTAINER |
145 GB | 72 | 824 GB (SSD) |
小型 GPU | BUILD_GENERAL1_SMALL |
LINUX_GPU_CONTAINER |
16 GB | 4 | 220 GB |
大型 GPU | BUILD_GENERAL1_LARGE |
LINUX_GPU_CONTAINER |
255 GB | 32 | 50 GB |
視窗中 | BUILD_GENERAL1_MEDIUM |
WINDOWS_SERVER_2019_CONTAINER |
7 GB | 4 | 128 GB |
大型窗戶 | BUILD_GENERAL1_LARGE |
WINDOWS_SERVER_2019_CONTAINER |
15 GB | 8 | 128 GB |
¹ 會快取此映像類型的最新版本。如果您指定更具體的版本,則 CodeBuild 佈建該版本而不是快取版本。這可能會導致建置時間更長。例如,若要從快取中受益,請指定 aws/codebuild/amazonlinux2-x86_64-standard:5.0
,而非更精細的版本,例如 aws/codebuild/amazonlinux2-x86_64-standard:5.0-1.0.0
。
AWS CodeBuild 為建置環境提供下列可用記憶體和磁碟空間,以供 AWS Lambda 運算模式使用:
運算類型 | 環境 computeType 值 | 環境類型值 | 記憶體 | 磁碟空間 |
---|---|---|---|---|
手臂 Lambda 1GB | BUILD_LAMBDA_1GB |
ARM_LAMBDA_CONTAINER |
1 GB | 10 GB |
手臂 Lambda | BUILD_LAMBDA_2GB |
ARM_LAMBDA_CONTAINER |
2 GB | 10 GB |
手臂 Lambda | BUILD_LAMBDA_4GB |
ARM_LAMBDA_CONTAINER |
4 GB | 10 GB |
手臂 Lambda 8GB | BUILD_LAMBDA_8GB |
ARM_LAMBDA_CONTAINER |
8 GB | 10 GB |
手臂 Lambda | BUILD_LAMBDA_10GB |
ARM_LAMBDA_CONTAINER |
10 GB | 10 GB |
Lambda | BUILD_LAMBDA_1GB |
LINUX_LAMBDA_CONTAINER |
1 GB | 10 GB |
Lambda | BUILD_LAMBDA_2GB |
LINUX_LAMBDA_CONTAINER |
2 GB | 10 GB |
Lambda | BUILD_LAMBDA_4GB |
LINUX_LAMBDA_CONTAINER |
4 GB | 10 GB |
Lambda | BUILD_LAMBDA_8GB |
LINUX_LAMBDA_CONTAINER |
8 GB | 10 GB |
Lambda | BUILD_LAMBDA_10GB |
LINUX_LAMBDA_CONTAINER |
10 GB | 10 GB |
使用其他環境類型時,建議您使用快取的映像來減少建置時間。
每個建置環境列出的磁碟空間只可在 CODEBUILD_SRC_DIR
環境變數指定的目錄中使用。
若要選擇運算類型:
-
在 CodeBuild 主控台的 [建立組建專案精靈] 或 [編輯組建專案] 頁面的 [環境] 中展開 [其他設定],然後從 [計算類型] 選擇其中一個選項。如需詳細資訊,請參閱 建立組建專案 (主控台) 或 變更建置專案的設定 (主控台) 。
-
對於 AWS CLI,執行
create-project
或update-project
命令,指定environment
物件的computeType
值。如需詳細資訊,請參閱 建立建置專案 (AWS CLI) 或 變更建置專案的設定 (AWS CLI) 。 -
對於 AWS SDK,請針對目標程式設計語言呼叫相當於
CreateProject
或UpdateProject
作業,並指定environment
物件computeType
值的對等值。如需更多資訊,請參閱 AWS 開發套件和工具參考。
某些環境和運算類型有區域可用性限制:
-
Linux GPU 小型 (
LINUX_GPU_CONTAINER
) 的運算類型僅適用於下列區域:-
美國東部 (維吉尼亞北部)
-
美國西部 (奧勒岡)
-
亞太區域 (東京)
-
加拿大 (中部)
-
歐洲 (法蘭克福)
-
歐洲 (愛爾蘭)
-
歐洲 (倫敦)
-
-
Linux GPU 大型 (
LINUX_GPU_CONTAINER
) 的運算類型僅適用於下列區域:-
美國東部 (俄亥俄)
-
美國東部 (維吉尼亞北部)
-
美國西部 (奧勒岡)
-
亞太區域 (首爾)
-
亞太區域 (新加坡)
-
亞太區域 (雪梨)
-
亞太區域 (東京)
-
加拿大 (中部)
-
中國 (北京)
-
中國 (寧夏)
-
歐洲 (法蘭克福)
-
歐洲 (愛爾蘭)
-
歐洲 (倫敦)
-
-
環境類型
ARM_CONTAINER
僅適用於以下區域:-
美國東部 (俄亥俄)
-
美國東部 (維吉尼亞北部)
-
美國西部 (加利佛尼亞北部)
-
美國西部 (奧勒岡)
-
亞太區域 (香港)
-
亞太區域 (雅加達)
-
亞太區域 (海德拉巴)
-
亞太區域 (孟買)
-
亞太區域 (大阪)
-
亞太區域 (首爾)
-
亞太區域 (新加坡)
-
亞太區域 (雪梨)
-
亞太區域 (東京)
-
加拿大 (中部)
-
中國 (北京)
-
中國 (寧夏)
-
歐洲 (法蘭克福)
-
歐洲 (愛爾蘭)
-
歐洲 (倫敦)
-
歐洲 (米蘭)
-
Europe (Paris)
-
歐洲 (西班牙)
-
歐洲 (斯德哥爾摩)
-
以色列 (特拉維夫)
-
Middle East (Bahrain)
-
中東 (阿拉伯聯合大公國)
-
南美洲 (聖保羅)
-
-
運算類型
BUILD_GENERAL1_2XLARGE
僅適用於下列區域:-
美國東部 (俄亥俄)
-
美國東部 (維吉尼亞北部)
-
美國西部 (加利佛尼亞北部)
-
美國西部 (奧勒岡)
-
亞太區域 (海德拉巴)
-
亞太區域 (香港)
-
亞太區域 (雅加達)
-
亞太區域 (墨爾本)
-
亞太區域 (孟買)
-
亞太區域 (首爾)
-
亞太區域 (新加坡)
-
亞太區域 (雪梨)
-
亞太區域 (東京)
-
加拿大 (中部)
-
中國 (北京)
-
中國 (寧夏)
-
歐洲 (法蘭克福)
-
歐洲 (愛爾蘭)
-
歐洲 (倫敦)
-
Europe (Paris)
-
歐洲 (西班牙)
-
歐洲 (斯德哥爾摩)
-
歐洲 (蘇黎世)
-
以色列 (特拉維夫)
-
Middle East (Bahrain)
-
中東 (阿拉伯聯合大公國)
-
南美洲 (聖保羅)
-
-
運算模式 AWS Lambda (
ARM_LAMBDA_CONTAINER
和LINUX_LAMBDA_CONTAINER
) 僅適用於下列區域:-
美國東部 (維吉尼亞北部)
-
美國東部 (俄亥俄)
-
美國西部 (奧勒岡)
-
亞太區域 (孟買)
-
亞太區域 (新加坡)
-
亞太區域 (雪梨)
-
亞太區域 (東京)
-
歐洲 (法蘭克福)
-
歐洲 (愛爾蘭)
-
南美洲 (聖保羅)
-
對於運算類型 BUILD_GENERAL1_2XLARGE
,最多可支援 100 GB 未壓縮的 Docker 影像。
注意
對於自定義構建環境映像,無論運算類型如何,都 CodeBuild 支持 Linux 和 Windows 中最多 50 GB 未壓縮的 Docker 映像。若要查看您的建置映像的大小,請使用 Docker 執行 docker images
命令。REPOSITORY
:TAG
您可以使用 Amazon EFS 存取組建容器中的更多空間。如需詳細資訊,請參閱 Amazon Elastic File System 範例 AWS CodeBuild。如果您希望在建置期間操作容器的磁碟空間,則必須使用授權模式來執行組建。
注意
依預設,非 VPC 組建會啟用 Docker 精靈。如果您想使用 Docker 容器進行 VPC 構建,請參閱 Docker 文檔網站上的運行時特權和 Linux 功能