如何在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 repo 的信息,但恐怕这确实是我们的解决方案。
最佳答案
我花了整个上午与这个问题作斗争,终于使它工作了。根本原因是,默认情况下,Artifactory尝试在 Artifactory 上执行HTTP HEAD请求,该请求在GitHub CDN S3存储桶上不起作用:请参见此问题:RTFACT-11923
从Artifactory 5.5.2开始,“通用”存储库的高级配置中现在有一个选项可以忽略HTTP HEAD请求。如果选中此选项,则通用存储库可以镜像GitHub版本。
我已经使用以下配置成功设置了镜像:
[orgPath]/releases/download/[baseRev]/[module].[ext]
https://github.com/
保存存储库后,请尝试以下操作:
http://artifactory.local/artifactory/github-releases/sass/node-sass/releases/download/v4.9.0/win32-ia32-11_binding.node
哪个应下载该 Artifactory 并将其缓存以备将来使用。然后,您可以将SASS_BINARY_SITE设置为“http://artifactory.local/artifactory/github-releases/sass/node-sass/releases/download”,这将强制npm install使用Artifactory中的缓存/代理版本。
从理论上讲,这可以在GitHub上缓存所有发行版,但是我还没有尝试过其他任何版本。
关于node.js - 在Artifactory中创建Github镜像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49108640/