首页 > 解决方案 > AWS CodeArtifact 令牌更新

问题描述

我创建了 AWS CodeArtifact 存储库,使用aws codeartifact get-authorization-token命令获取令牌,并将其正确设置为.m2/settings.xml(我的项目maven用作构建工具和包管理器)。

问题是令牌在 12 小时后过期。这意味着我和所有从事该项目的开发人员必须获取一个新令牌并将新令牌设置在settings.xml文件中。对于 ci/cd 服务器也必须这样做,它还需要与 CodeArtifact 建立连接,以便在构建后推送工件。

必须有一种方法来解决这个问题,但不幸的是,我无法找到解决方案。

标签: amazon-web-servicesmavenaws-codeartifact

解决方案


出于安全原因,您不能将令牌的生命周期延长到 12 小时以上,但有一些方法可以使其更容易。

您可以更改 settings.xml 以利用环境变量

    <server>
        <id>codeartifact</id>
        <username>aws</username>
        <password>${env.CODEARTIFACT_AUTH_TOKEN}</password>
    </server>

并使用以下命令设置环境变量(Linux)

export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token ...`

推荐阅读