使用 AWS CodeBuild 代理程式在本機執行建置 - AWS CodeBuild

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

使用 AWS CodeBuild 代理程式在本機執行建置

您可以使用 AWS CodeBuild 代理程式在本機機器上執行 CodeBuild 組建。有適用於 x86_64 和 ARM 平台的代理程式。

您也可以訂閱,以在發佈新版本的代理程式時接收通知。

先決條件

開始之前,您需要執行下列動作:

  • 在您的本機電腦上安裝 Git。

  • 在本機電腦上安裝和設定 Docker

設定建置映像

您只需要在第一次執行代理程式或映像變更時設定建置映像。

設定建置映像
  1. 如果您想要使用精選的 Amazon Linux 2 映像,您可以使用下列命令從 CodeBuild Amazon ECR 儲存庫中提取:https://gallery.ecr.aws/codebuild/amazonlinux-x86_64-standard

    $ docker pull public.ecr.aws/codebuild/amazonlinux-x86_64-standard:4.0

    或者,如果您想要使用另一個 Linux 映像,請執行下列步驟:

    1. 複製 CodeBuild 映像儲存庫:

      $ git clone https://github.com/aws/aws-codebuild-docker-images.git
    2. 變更為映像目錄。在此範例中,請使用aws/codebuild/standard:5.0映像:

      $ cd aws-codebuild-docker-images/ubuntu/standard/5.0
    3. 建置映像。這將需要數分鐘的時間。

      $ docker build -t aws/codebuild/standard:5.0 .
  2. 下載 CodeBuild 代理程式。

    若要下載 x86_64 版本的代理程式,請執行下列命令:

    $ docker pull public.ecr.aws/codebuild/local-builds:latest

    若要下載代理程式的 ARM 版本,請執行下列命令:

    $ docker pull public.ecr.aws/codebuild/local-builds:aarch64
  3. CodeBuild 代理程式可從 https://https://gallery.ecr.aws/codebuild/local-builds 取得。

    x86_64 版代理程式的安全雜湊演算法 (SHA) 簽章為:

    sha256:ccb19bdd7af94e4dc761e4c58c267e9455c28ec68d938086b4dc1cf8fe6b0940

    代理程式 ARM 版本的 SHA 簽章為:

    sha256:7d7b5d35d2ac4e062ae7ba8c662ffed15229a52d09bd0d664a7816c439679192

    您可以使用 SHA 來識別代理程式的版本。若要查看代理程式的 SHA 簽章,請執行下列命令,並在 下尋找 SHARepoDigests

    $ docker inspect public.ecr.aws/codebuild/local-builds:latest

執行 CodeBuild 代理程式

執行 CodeBuild 代理程式
  1. 變更至包含您建置專案來源的目錄。

  2. 下載 codebuild_build.sh 指令碼:

    $ curl -O https://raw.githubusercontent.com/aws/aws-codebuild-docker-images/master/local_builds/codebuild_build.sh $ chmod +x codebuild_build.sh
  3. 執行codebuild_build.sh指令碼並指定您的容器映像和輸出目錄。

    若要執行 x86_64 建置,請執行下列命令:

    $ ./codebuild_build.sh -i <container-image> -a <output directory>

    若要執行 ARM 組建,請執行下列命令:

    $ ./codebuild_build.sh -i <container-image> -a <output directory> -l public.ecr.aws/codebuild/local-builds:aarch64

    <container-image> 取代為容器映像的名稱,例如 aws/codebuild/standard:5.0public.ecr.aws/codebuild/amazonlinux-x86_64-standard:4.0

    指令碼會啟動建置映像,並在目前目錄中的專案上執行建置。若要指定建置專案的位置,請將 -s <build project directory>選項新增至指令碼命令。

接收新 CodeBuild 代理程式版本的通知

您可以訂閱 Amazon SNS 通知,以便在發行新版本的 AWS CodeBuild 代理程式時收到通知。

訂閱 CodeBuild 代理程式通知
  1. https://console.aws.amazon.com/sns/v3/home 開啟 Amazon SNS 主控台。

  2. 在導覽列中,如果尚未選取,請將 AWS 區域變更為美國東部 (維吉尼亞北部)。您必須選取此 AWS 區域,因為您訂閱的 Amazon SNS 通知是在此區域中建立的。

  3. 在導覽窗格中,選擇訂閱

  4. 選擇 Create subscription (建立訂閱)。

  5. 建立訂閱中,執行下列動作:

    1. 對於 Topic ARN (主題 ARN),請使用下列 Amazon Resource Name (ARN):

      arn:aws:sns:us-east-1:850632864840:AWS-CodeBuild-Local-Agent-Updates
    2. 針對通訊協定,選擇電子郵件簡訊

    3. 針對 Endpoint (端點),選擇要接收通知的位置 (電子郵件或簡訊)。輸入電子郵件或地址或電話號碼,包括區碼。

    4. 選擇 Create subscription (建立訂閱)。

    5. 選擇電子郵件以接收要求您確認訂閱的電子郵件。遵循電子郵件中的指示來完成訂閱。

      如果您不想再接收這些通知,請使用下列程序來取消訂閱。

取消訂閱 CodeBuild 代理程式通知
  1. https://console.aws.amazon.com/sns/v3/home 開啟 Amazon SNS 主控台。

  2. 在導覽窗格中,選擇訂閱

  3. 選取訂閱,然後從 Actions (動作),選擇 Delete subscriptions (刪除訂閱)。出現確認提示時,選擇 Delete (刪除)