标签: aws-codeartifact

如何从 AWS CodeArtifact 中删除包?

AWS 文档非常清楚如何删除包版本,好吧。

但是,如何删除包呢

我上传了一个名称错误的包,我删除了它的唯一版本,现在我可以看到一个没有任何版本的包,但我找不到删除名称错误的包的方法。:(

amazon-web-services aws-codeartifact

28
推荐指数
1
解决办法
1843
查看次数

对 CodeArtifact 存储库的跨帐户访问

我在账户 A 中有一个具有管理员权限的 IAM 用户,并arn:aws:iam::aws:policy/AWSCodeArtifactReadOnlyAccess附加了一个很好的措施。

账户 A 中的 iam 用户的 arn 为arn:aws:iam::***:user/test-user

帐户 B 有一个 CodeArtifact 存储库,arn 为arn:aws:codeartifact:***:***:domain/test-repo。该仓库的资源政策为

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::***:user/test-user"
            },
            "Action": "codeartifact:*",
            "Resource": "*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

运行 AWS CLI 命令时,我使用账户 A 中 IAM 用户的访问密钥。以下命令有效:

$ aws codeartifact get-repository-endpoint --domain test-repo --domain-owner *** --query repositoryEndpoint --output text --repository test --format pypi
Run Code Online (Sandbox Code Playgroud)

结果是

https://test-repo-***.d.codeartifact.***.amazonaws.com/pypi/test/

这表明我的资源策略正在发挥作用(将 翻转EffectDeny成功会使上述命令失败)。

但是,以下命令

$ aws codeartifact …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-iam aws-codeartifact

10
推荐指数
2
解决办法
1万
查看次数

Apache Maven 通过执行外部命令获取服务器密码

例如,AWS CodeArtifact 使用有效期为 12 小时的令牌进行身份验证。带有 CodeArtifact 的 maven 的典型设置是:

  <servers>
    <server>
      <id>my-domain--my-repo</id>
      <username>aws</username>
      <password>${env.CODEARTIFACT_AUTH_TOKEN}</password>
    </server>
  </servers>
Run Code Online (Sandbox Code Playgroud)

在 settings.xml 中并执行

export CODEARTIFACT_AUTH_TOKEN=$(aws codeartifact get-authorization-token --domain my-domain --domain-owner 123456789012 --query authorizationToken --output text)
Run Code Online (Sandbox Code Playgroud)

在调用 mvn 之前每 12 小时在终端中执行一次。

我以为我可以:

  <servers>
    <server>
      <id>swifttech--main</id>
      <username>aws</username>
      <password>${codeartifact.auth.token}</password>
    </server>
  </servers>
Run Code Online (Sandbox Code Playgroud)

在 settings.xml 中,然后有一个

  <plugin>
    <groupId>org.codehaus.gmaven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <version>1.5</version>
    <executions>
      <execution>
        <phase>validate</phase>
        <goals>
          <goal>execute</goal>
        </goals>
        <configuration>
          <providerSelection>2.0</providerSelection>
          <properties>
            <script>aws codeartifact get-authorization-token --domain my-domain --domain-owner 123456789012 --query authorizationToken --output text</script>
          </properties>
          <source>
            def command = project.properties.script
            def process = …
Run Code Online (Sandbox Code Playgroud)

maven aws-codeartifact

9
推荐指数
1
解决办法
151
查看次数

NPM 始终使用 AWS Codeartifact

我的本地机器上有一些不同的项目。其中一些使用AWS Codeartifact下载AWS Codeartifact中的私有依赖项,而另一些则不使用。使用 AWS Codeartifact 的项目使用 Yarn 管理其依赖项,而我的不使用 AWS Codeartifact 的项目使用 NPM 管理其依赖项。

当我在 NPM 中运行一个简单的命令时,例如:

npm install nanoid
Run Code Online (Sandbox Code Playgroud)

npm 尝试连接到我的 AWS Codeartifact,但出现错误:

Unable to authenticate, need: Bearer realm="domain-npm-repo/npm-repo", Basic realm="domain-npm-repo/npm-repo"
Run Code Online (Sandbox Code Playgroud)

如何配置我的机器以仅将 AWS Codearticaft 用于我想要的项目?

其他配置:

我的机器是 Windows 10,我使用我的凭据在全局安装了 aws-sdk。

amazon-web-services npm yarnpkg aws-codeartifact

9
推荐指数
2
解决办法
4632
查看次数

在“预安装”后,纱线重新加载或传递新配置

我正在尝试使用AWS CodeArtifact来利用私有存储库。那里的说明提到执行aws-clinpm 登录命令。此登录命令从 AWS 获取令牌并将其放置在 users 中.npmrc

我曾尝试将此登录功能放入preinstall项目的脚本中package.json,但问题是.npmrc仅在此步骤中进行修改,而在继续执行yarn install任务时不会重新加载。

有什么方法可以加载此令牌,yarn同时保持登录/安装过程无缝?

npm aws-cli package.json yarnpkg aws-codeartifact

8
推荐指数
1
解决办法
843
查看次数

AWS CodeArtifact 令牌更新

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

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

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

amazon-web-services maven aws-codeartifact

7
推荐指数
1
解决办法
223
查看次数

如何在 IntelliJ 中更新环境变量

我们使用 AWS CodeArtifact 来存储我们的 Maven 依赖项。此外,我工作的公司使用临时访问密钥来访问 aws。长话短说,您必须每小时运行一个脚本,使用新密钥更新您的 ~/.aws/credentials。您还需要获取新的 CODEARTIFACT_AUTH_TOKEN 才能访问 CodeArtifact。 https://docs.aws.amazon.com/codeartifact/latest/ug/tokens-authentication.html#env-var

如何让 IntelliJ 获取新的 CODEARTIFACT_AUTH_TOKEN?由于您必须每小时获取一个新的,因此您不能只在设置中进行设置。嗯,当然可以,但是你必须每小时更新一次......

可以自动完成吗?

intellij-idea maven aws-codeartifact

7
推荐指数
0
解决办法
809
查看次数

如何在不需要凭证的情况下公开/公开地访问 AWS CodeArtifact 存储库?

我需要一个用于我公司的 Python 包的包存储库。我已经设置了 AWS CodeArtifact 存储库并设法发布和安装我的包。

要使pip能够使用此存储库,AWS 建议执行以下操作之一:

aws codeartifact login --tool pip | twine --domain my-domain --domain-owner domain-owner-id --repository my-repo
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为我已经使用我的凭证配置了我的 AWS 客户端。不过,我更愿意像这样安装:他们应该能够轻松安装这些软件包,例如通过

pip install --extra-index-url https://repository-name.d.codeartifact.eu-west-1.amazonaws.com/pypi/repository/ package_name   
Run Code Online (Sandbox Code Playgroud)

出于两个原因,我希望它无需凭据即可工作:

  • 我不希望组织内的每个人都安装 AWS 客户端。
  • 我托管的第三方系统不允许我安装 AWS 客户端 - 它允许我提供替代索引或指定requirements.txt,我也可以在其中添加其他索引。

因此我的问题是: 如何在 VPC(虚拟私有云)中公开/公开地访问 AWS CodeArtifact 存储库,而无需凭证?

用户(通过 VPN)和第 3 方应用程序均已配置为位于同一 VPC 内。

pip amazon-web-services aws-codeartifact

6
推荐指数
1
解决办法
5168
查看次数

如何运行AWS codeartifact登录并保留默认注册表

我在 package.json 文件 ( scripts> preinstall) 或 ( scripts> prepare) 中运行此命令:

aws codeartifact login --tool npm --repository my-repo --domain my-domain --domain-owner <123456789> --profile <me>
Run Code Online (Sandbox Code Playgroud)

完整文件:(<123456789>针对<me>stackoverflow 进行了修改)

{
  "name": "my-app",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "preinstall": "npm run co:login",
    "co:login": "aws codeartifact login --tool npm --repository my-repo --domain my-domain --domain-owner <123456789> --profile <me>",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
    "uuid": "^3.3.2",
    "@my-npm/my-common": "1.0.0" …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js .npmrc aws-codeartifact

6
推荐指数
1
解决办法
9767
查看次数

AWS codeartifact 无法更新校验和元数据

我需要有关代码工件配置的帮助,每当我尝试通过 maven 部署时,它都会显示错误 [警告] 无法上传校验和 maven-metadata.xml。但工件仍然会在快照中发布,并且状态构建成功。

我做错了什么,任何帮助或指导将不胜感激。

metadata build amazon-web-services maven aws-codeartifact

6
推荐指数
0
解决办法
365
查看次数