具有多个私有存储库的AWS CodeArtifact

4

npm 提供了一个很好的方法将范围与注册表相关联,但我并不认为它适用于 AWS CodeArtifact。

我期望一旦你创建了一个域 @myco 和一些在该域下的仓库,例如:@myco/repo-a@myco/repo-b,我就能够:

npm config set @myco:registry https://888999.d.codeartifact.eu-central-1.amazonaws.com/npm/

npm config set //888999.d.codeartifact.eu-central-1.amazonaws.com/npm/:_authToken=xxx

所有存储库都可以使用相同的authToken安装,但是aws codeartifact login期望存储库,这使我认为不可能使用一个令牌安装2个私有存储库。

有什么想法吗?


是的,我找到了混淆的根源,让我把它作为答案发布。 - D.Dimitrioglo
1个回答

2
我的困惑根源在于我假设 AWS CodeArtifact 有以下层次结构:
- Domains - 我将其解释为名称空间 - Repositories - 我将其解释为 npm 包的列表
实际上,它略有不同:
- Domains - 是一个命名空间/域 - Repositories - 不同仓库/注册表的列表 - 在这些仓库中我们可以推送很多 npm 包
因此,如果我们像这样配置全局的 `.npmrc`,生成的令牌就能正常工作:
registry=https://registry.npmjs.com/
@myco:registry=https://xxx.d.codeartifact.region.amazonaws.com/npm/registry/
//xxx.d.codeartifact.region.amazonaws.com/npm/registry/:always-auth=true
//xxx.d.codeartifact.region.amazonaws.com/npm/registry/:_authToken=${CODEARTIFACT_AUTH_TOKEN}

这适用于默认的npm注册表和您自己的注册表。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接