npm
提供了一个很棒的方式 associating a scope with a registry但我真的没有看到它与 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
需要存储库,这让我认为不可能使用一个 token 安装 2 个私有(private)存储库.
有什么想法吗?
最佳答案
我困惑的根源是 AWS CodeArtifact 具有以下层次结构的假设:
- 域 - 我将其解释为 namespace
- 存储库 - 我将其解释为 npm 包列表
事实上,它略有不同:
- Domains - 是一个命名空间/域
- 存储库 - 不同存储库/注册表的列表
- 我们可以在哪里推送大量 npm 包
- 存储库 - 不同存储库/注册表的列表
如果我们像这样配置全局 .npmrc
,生成的 token 将按预期工作:
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 注册中心和您自己的注册中心。
关于npm - 具有多个私有(private)存储库的 AWS CodeArtifact,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71859820/