

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在中使用 Maven 软件包 CodeBuild
<a name="using-maven-packages-in-codebuild"></a>

## 使用 IAM 角色设置权限
<a name="maven-packages-in-codebuild-iam"></a>

从中使用 Maven 软件包时需要执行这些步骤 CodeArtifact 。 CodeBuild

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择**角色**。在**角色**页面上，编辑您的 CodeBuild 构建项目使用的角色。此角色必须具有以下权限。

------
#### [ JSON ]

****  

   ```
   {
     "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:PublishPackageVersion**和**codeartifact:PutPackageMetadata**权限。

   有关信息，请参阅**《IAM 用户指南》中的[修改角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html)。

## 使用 gradle 或 mvn
<a name="maven-packages-in-codebuild-login"></a>

要将 Maven 包与`gradle`或一起使用`mvn`，请将 CodeArtifact 身份验证令牌存储在环境变量中，如在环境变量中[传递身份验证令牌中所](tokens-authentication.md#env-var)述。示例如下：

**注意**  
仅当您使用的是较旧 AWS CLI 的`pip3 install awscli --upgrade --user` CodeBuild 映像时，才需要使用进行升级。如果您使用的是最新映像版本，则可以删除该行。

```
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 [ CodeArtifact 一起使用](maven-gradle.md)中所述在 Gradle `build.gradle` 文件中引用了该`CODEARTIFACT_AUTH_TOKEN`变量，则可以从该部分中调用 Gradle 构建。`buildspec.yaml` `build`

```
build:
  commands:
    - gradle build
```

 **要使用 mvn，请执行以下操作：**

您必须按照与 mvn [ CodeArtifact 一起使用中的说明配置 M](maven-mvn.md) aven 配置文件（`settings.xml`和`pom.xml`）。