如何在Artifactory中创建github镜像。
我们需要安装node-sass
。我们有一个远程npm存储库,它下载了node-sass,但最后它需要一些来自github的binding.node文件。这里构建因代理而失败。
我们为https://npm.taobao.org/mirrors/node-sass创建了一个远程存储库,并告诉我们的构建版本检查我们的远程仓库是否为node-sass:
SASS_BINARY_SITE=https://xx/artifactory/node-sass/
这很好用。但现在我们正在镜像。我们想立即镜像github版本,但这不起作用: 我们尝试了https://github.com/sass/node-sass/releases/和https://github.com/sass/node-sass/releases/download/,但两者都无效。
我读到了有关VCS回购的内容,但这似乎是我的解决方案,我担心。
答案 0 :(得分:5)
我整个上午都在为此而战,我终于开始工作了。根本原因是,默认情况下,Artifactory尝试对工件执行HTTP HEAD请求,这对GitHub CDN S3存储桶不起作用:请参阅此问题:RTFACT-11923
从Artifactory 5.5.2开始,现在在" generic"的高级配置中有一个选项。 repos忽略HTTP HEAD请求。如果选中此选项,则通用仓库可以镜像GitHub版本。
我已成功设置了具有以下配置的镜像:
为GitHub版本创建自定义布局:
[orgPath]/releases/download/[baseRev]/[module].[ext]
使用" generic"创建一个新的远程存储库。类型。
https://github.com/
保存存储库后,请尝试以下操作:
应该下载该工件并将其缓存以备将来使用。然后,您可以将SASS_BINARY_SITE设置为" http://artifactory.local/artifactory/github-releases/sass/node-sass/releases/download"这应该强制npm install在Artifactory中使用缓存/代理版本。
从理论上讲,这可以缓存GitHub上的任何版本,但我还没有尝试过任何其他版本。