gpt4 book ai didi

node.js - 在 Artifactory 中创建 Github 镜像

转载 作者:搜寻专家 更新时间:2023-10-31 22:32:37 25 4
gpt4 key购买 nike

如何在 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 存储库的信息,但恐怕这似乎真的是我们的解决方案。

最佳答案

我花了一上午的时间来解决这个问题,我终于让它工作了。根本原因是,默认情况下,Artifactory 尝试对 Artifactory 执行 HTTP HEAD 请求,这在 GitHub CDN S3 存储桶上不起作用:请参阅此问题:RTFACT-11923

从 Artifactory 5.5.2 开始,“通用”存储库的高级配置中现在有一个选项可以忽略 HTTP HEAD 请求。如果选中此项,通用存储库可以镜像 GitHub 版本。

我已经使用以下配置成功设置了一个镜像:

  1. 为 GitHub 发布创建自定义布局:

    [orgPath]/releases/download/[baseRev]/[module].[ext]
  2. 使用“通用”类型创建一个新的远程存储库。

  3. 将新存储库的 URL 设置为 https://github.com/
  4. 将仓库布局和远程仓库布局设置为为 GitHub 创建的自定义布局
  5. 取消选中“列出远程文件夹项目”
  6. 在“高级”选项卡的“其他”部分下,选中“绕过 HEAD 请求”

保存存储库后,尝试类似的操作:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com