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

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

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

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

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

必要條件

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

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

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

設定建置映像

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

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

    $ docker pull public.ecr.aws/codebuild/amazonlinux2-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://gallery.ecr.aws/codebuild/local-builds 取得。

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

    sha256:ccb19bdd7af94e4dc761e4c58c267e9455c28ec68d938086b4dc1cf8fe6b0940

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

    sha256:7d7b5d35d2ac4e062ae7ba8c662ffed15229a52d09bd0d664a7816c439679192

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

    $ 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

    Replace (取代) <container-image> 容器映像的名稱,例如 aws/codebuild/standard:5.0public.ecr.aws/codebuild/amazonlinux2-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. 對於主題 ARN,請使用下列 Amazon Resource Name (ARN):

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

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

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

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

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

若要取消訂閱 CodeBuild 客服人員通知
  1. https://console.aws.amazon.com/sns/v3/home 開啟 Amazon SNS主控台。

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

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