如何代理一个私有的NPM GitHub注册表?
在本文中,我们将概述在Artifactory中代理私有GitHub注册表的过程,以及通过Artifactory解析示例私有包。
为了演示这一点,我们首先将一个私有NPM包推到我们的私有GitHub注册表样本中。详情请参阅GitHub的文档.
之后,在Artifactory中,我们应该设置远程NPM存储库指向以下URL:
https://npm.pkg.github.com
现在,让我们配置远程存储库身份验证。正如GitHub中所述文档,您可以使用个人访问令牌(PAT)来验证到GitHub包或GitHub API。因此,你需要配置远程存储库的用户名和密码字段,分别对应你的GitHub用户名和PAT:
此外,请注意HEAD请求是不允许的https://npm.pkg.github.com端点,因此被拒绝,即使允许下载工件。因此,要确保绕过HEAD请求复选框在高级设置选项卡下为远程NPM GitHub存储库启用。当绕过HEAD请求复选框被启用(如下面的截图所示),Artifactory将绕过HEAD请求,直接使用GET请求缓存工件:
接下来,我们将配置NPM客户端,使其与包含上述远程存储库的NPM虚拟存储库一起工作。为此,我们将在“。”中添加以下内容。npmrc"文件(你可以使用Set Me Up UI特性来生成"。npmrc”配置):
@jfrog-fadir:注册表= http://JFROG_URL/artifactory/api/npm/gh-private-npm/
/ / JFROG_URL artifactory / api / npm / gh-private-npm /: _password = XXXXXXXX
/ / JFROG_URL artifactory / api / npm / gh-private-npm /:用户名= admin
/ / JFROG_URL artifactory / api / npm / gh-private-npm /:电子邮件= youremail.com
/ / JFROG_URL artifactory / api / npm / gh-private-npm /: always-auth = true
最后,我们可以通过安装在初始步骤中发布的包来测试配置:
NPM install @jfrog-fadir/github-npm-private
增加了2个包,在2s内审计了3个包
发现0个漏洞
