本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 IAM 角色设置权限
从中使用 Maven 软件包时需要执行这些步骤 CodeArtifact 。 CodeBuild
登录 AWS Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择角色。在角色页面上,编辑您的 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:PublishPackageVersion
和codeartifact:PutPackageMetadata
权限。有关信息,请参阅《IAM 用户指南》中的修改角色。
使用 gradle 或 mvn
要将 Maven 包与gradle
或一起使用mvn
,请将 CodeArtifact 身份验证令牌存储在环境变量中,如在环境变量中传递身份验证令牌中所述。示例如下:
注意
仅当您使用的是较旧 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 一起使用中所述在 Gradle build.gradle
文件中引用了该CODEARTIFACT_AUTH_TOKEN
变量,则可以从该部分中调用 Gradle 构建。buildspec.yaml
build
build:
commands:
- gradle build
要使用 mvn,请执行以下操作:
您必须按照与 mvn CodeArtifact 一起使用中的说明配置 M aven 配置文件(settings.xml
和pom.xml
)。