在 CodeBuild 中使用 Maven 套件 - CodeArtifact

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

在 CodeBuild 中使用 Maven 套件

使用 IAM 角色設定許可

在 CodeBuild 中使用來自 CodeArtifact 的 Maven 套件時,需要這些步驟。

  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/iam/:// 開啟 IAM 主控台。

  2. 在導覽窗格中,選擇角色。在角色頁面上,編輯 CodeBuild 組建專案所使用的角色。此角色必須具有下列許可。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeartifact:GetAuthorizationToken", "codeartifact:GetRepositoryEndpoint", "codeartifact:ReadFromRepository" ], "Resource": "*" }, { "Effect": "Allow", "Action": "sts:GetServiceBearerToken", "Resource": "*", "Condition": { "StringEquals": { "sts:AWSServiceName": "codeartifact.amazonaws.com" } } } ] }
    重要

    如果您也想要使用 CodeBuild 發佈套件,請新增 codeartifact:PublishPackageVersioncodeartifact:PutPackageMetadata許可。

    如需詳細資訊,請參閱《IAM 使用者指南》中的修改角色

使用 gradle 或 mvn

若要搭配 gradle或 使用 Maven 套件mvn,請將 CodeArtifact 驗證字符存放在 環境變數中,如在 環境變數中傳遞驗證字符中所述。以下是範例。

注意

只有在您使用較舊的 CodeBuild 映像 AWS CLI pip3 install awscli --upgrade --user時,才需要使用 升級 。如果您使用的是最新的映像版本,則可以移除該行。

pre_build: commands: - pip3 install awscli --upgrade --user - export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`

若要使用 Gradle:

如果您參考了 Gradle build.gradle檔案中的 CODEARTIFACT_AUTH_TOKEN 變數,如使用 CodeArtifact 搭配 Gradle 所述,您可以從 buildspec.yamlbuild區段叫用 Gradle 建置。

build: commands: - gradle build

若要使用 mvn:

您必須依照搭配使用 CodeArtifact 與 mvn 中的指示,設定 Maven 組態檔案 (settings.xmlpom.xml)。