AWS-CodeArtifact
【前言】
AWS CodeArtifact是托管构件的存储库,可以托管npm,maven等
【创建】
地址: https://us-west-2.console.aws.amazon.com/codesuite/codeartifact/start?region=us-west-2#
点击右侧的创建存储库按钮开始创建,
填完名称后可以选择需要托管的存储库,
这里选择maven和npm,

下一步填一个域名,一般是公司或者产品名称即可

创建成功

【连接】
本地连接私有库前,需要先安装aws cli, https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
按提示连接npm库,

执行命令时,提示:Unable to locate credentials. You can configure credentials by running “aws configure”.
本地没有凭证,按提示在执行aws configure命令,

提示需要ak,按文档配置一下, https://docs.aws.amazon.com/zh_cn/cli/v1/userguide/cli-chap-authentication.html
有3种配置权限的方法,尝试了下第3种最简单,

再次执行命令后,连接npm成功,

其实也可以直接在项目内添加.npmrc文件,内容如下
registry=https://domain-accountid.d.codeartifact.us-west-2.amazonaws.com/npm/domain/
【发布私有包】
在项目下配置.npmrc文件后,
在项目下执行npm config get registry查看源确实是aws,
尝试安装一个公网npm包,正常,

接着是发布包,
一般npm发布包需要先npm login,
AWS CodeArtifact方式比较特殊,
点击连接说明-选择npm-手动方式,
然后复制第一个命令执行,
然后将第二段内容复制到.npmrc内,

再次执行npm publish,发布成功,

【安装私有包】
其他用户如果要安装AWS CodeArtifact上的私有包,
首先需要给这个用户新建iam用户,
然后再iam-用户-安全凭证-添加访问密钥,
用户本地安装aws cli, https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
用户本地执行aws configure,输入上面添加的访问密钥,
用户执行下面命令
aws codeartifact login --tool npm --repository domain --domain domain --domain-owner accountid --region us-west-2
使用aws的npm源安装,可以是命令行,可以是放到.npmrc内,或者npm config
npm install @xx/util-cookie --registry=https://domain-accountid.d.codeartifact.us-west-2.amazonaws.com/npm/domain/