如何匿名将Conan包上传至Artifactory?
匿名上传Conan包至Artifactory的方法与配置
问题背景
我们使用Artifactory存储C/C++包,通过Conan将其存放在Artifactory的远程仓库中,希望实现流水线构建生成的Conan包能够匿名上传至Artifactory。目前针对Artifactory上的Docker远程仓库,可通过JFrog RT CLI工具实现匿名推送,但Conan包需通过conan upload命令上传至已创建并完成认证的远程仓库,想知道是否存在匿名上传Conan包至Artifactory的方法,若存在该如何配置。
JFrog提供了Docker、Maven、Gradle、npm等多种集成,但根据文档暂无针对Conan包的专属JFrog CLI支持。
实现方法与配置步骤
存在匿名上传Conan包至Artifactory的方法,具体操作如下:
1. 配置Artifactory Conan仓库的匿名部署权限
- 登录Artifactory管理后台,定位到目标Conan仓库(推荐使用
conan-local类型仓库)。 - 进入该仓库的权限配置页,创建或编辑权限组,为
anonymous用户分配**部署(Deploy)**权限,并将该权限组关联到目标Conan仓库。 - 确认仓库的匿名访问功能已开启(在仓库基本设置中可勾选启用),保存所有配置。
2. 在流水线中配置Conan匿名远程
在流水线环境中,无需提前完成Conan远程认证,直接添加未带认证信息的Artifactory远程:
conan remote add artifactory-conan http://<你的Artifactory地址>/artifactory/api/conan/<目标仓库名>
3. 执行匿名上传命令
使用conan upload命令上传包时,无需指定用户名和密码,按需添加--all(上传包的所有构件)和--force(覆盖已存在的包版本)参数:
conan upload <包名>/<版本>@<用户>/<渠道> --remote artifactory-conan --all
注意事项
- 确保Artifactory的防火墙或反向代理未限制匿名用户的上传请求。
- 若流水线环境存在Conan配置缓存,需清理残留的认证信息,避免干扰匿名上传(可删除
~/.conan/remotes.json中的认证条目或直接清空~/.conan目录)。
内容的提问来源于stack exchange,提问作者zombieanfuehrer
相关产品推荐
相关产品推荐

