【问题标题】:Conan packages migration from official repo to local private repo柯南包从官方仓库迁移到本地私人仓库
【发布时间】:2021-09-28 09:09:08
【问题描述】:

我想知道是否可以将来自官方“conan-center”仓库的包及其所有依赖项上传到本地私有仓库(无法访问互联网)

例子:

在“conan-center”repo 中有一个包 A。 包 A 有一些依赖关系:B 和 C。

我想使用“conan upload”命令将 A(并自动 B 和 C)上传到一个私有的工件仓库中。

最好的方法是什么?

【问题讨论】:

  • 据我所知,没有现成的解决方案。也许您可以将conan info 命令与conan upload 结合使用。另外一种解决方案可能是始终拥有干净的柯南缓存,然后使用conan upload * 上传与包A 相关的所有内容。也许有人会想出更好的方法——我也会对此很感兴趣

标签: c++ artifactory conan


【解决方案1】:

最好的办法是使用 Artifactory 功能 Remote Repository,当您的本地远程中没有可用的包时,Artifactory 会为您下载它。

但是,如果你没有网络连接,会比较复杂,你需要下载你需要的包,然后手动上传。

例如,您可以使用conan download 命令,然后使用conan upload

例如:

conan download openssl/1.1.1@ -r conancenter
conan user -p mypassword -r mylocalremote username
conan upload "*" -r mylocalremote --all --confirm --parallel 

我认为你应该尝试解决连接限制,因为使用 Artifactory Remote Repository 会节省你很多时间。

【讨论】:

  • 感谢您的回答。出于安全原因,我需要将包含柯南存储库的机器与官方柯南中心存储库隔离开来。我会尝试下载包,然后上传整个缓存。
  • 因此,出于安全考虑,您可能也无法下载二进制文件。 JFrog 还提供 X-Ray,它可以扫描 Artifactory 中的二进制文件。无论如何,如果您无法下载二进制文件并且需要构建源代码,则必须运行conan download --recipe,因此柯南客户端将只下载配方,而不是二进制文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 2017-03-14
  • 2020-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多