建置環境運算模式和類型 - AWS CodeBuild

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

建置環境運算模式和類型

在中 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 環境變數指定的目錄中使用。

若要選擇運算類型:

某些環境和運算類型有區域可用性限制:

  • 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_CONTAINERLINUX_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 功能並啟用特權模式。此外,Windows 不支援特殊權限模式。