配置
局部存储库
若要启用Cargo元数据的计算,请在Administration模块中转到存储库|存储库|当地的并选择货物随着包类型创建本地存储库时。
先决条件
在设置本地存储库之前,您需要为Artifactory实例配置一个Custom Base URL。有关更多信息,请参见一般设置。
本地存储库布局
你需要维护特定的路径结构来管理上传到Cargo本地存储库的Cargo包。
默认情况下,Cargo Source包会自动上传到相对路径:箱/ {package_name} / {package_name} - {version} .crate
。
在本地仓库中拉拽和非拉拽板条箱
Artifactory支持在本地存储库中抽取和解抽取crate。
cargo yank hello_world -vers 0.1.4 -token“承载(令牌)”——撤销
撤销/撤销智能存储库
远程存储库
先决条件
在设置远程存储库之前,您需要为需要支持的Artifactory实例配置一个Custom Base URL。有关更多信息,请参见一般设置。
您可以创建远程Cargo存储库来代理和缓存远程存储库或其他Artifactory实例。
的注册网址已添加到Cargo远程存储库,以反映索引(git)位置:
- 对于外部存储库,路径应该与URL相同。例如:
https://github.com/rust-lang/crates.io-index
- 对于智能远程存储库,路径应该是
http (s): / / art_url artifactory / git / repo_name.git
。例如:http://127.0.0.1/artifactory/git/cargo-local.git
。
解决货物包装问题
解决货物包装:
- 在Application模块中,导航到人工制品|人工制品。
在Artifact Tree Browser中,选择Cargo存储库并单击帮我介绍。
密码认证要求
只有当您需要对JFrog平台执行重新身份验证时,才会显示“Type Password”框。对于应用外部身份验证方法(如SAML或OAuth)的用户,UI中将不提供此选项。
为API调用设置凭据,例如
发布
和猛地一拉
,将以下部分添加到Cargo主目录下的凭据文件(例如~ / .cargo /凭证
):(注册表。artifactory] token = "承载者< token >"
- 复制Cargo代码片段以发布Cargo包或配置Rust客户端以解析所选包中的工件存储库。
使用Rust命令行解决货物包问题
- 在Application模块中,导航到人工制品|人工制品。
在Artifact Tree Browser中,选择Cargo存储库并单击帮我介绍。
使用Cargo构建或安装命令安装包。
货物安装装货箱
解决多个货物注册
要解析多个注册表,请添加此可选标志
——注册(registryId)
。
身份验证:允许匿名下载
Cargo客户端不发送任何运行安装和搜索命令时的身份验证头。
选择“允许匿名下载和搜索”来阻止匿名请求,但仍然允许匿名Cargo客户端下载和执行搜索,从而专门为特定存储库的端点授予匿名访问权限。
部署货物包
可以使用Cargo Client将包部署到本地Cargo存储库部署功能在UI,或者使用cURL请求。
使用Cargo客户端部署包(推荐)
要部署包,请运行下面的Cargo发布
命令。
货物发布或货物发布——注册表(注册表id)
要覆盖该存储库的凭据,运行以下命令。
cargo publish -token“Basic (base64 of user:password)”或cargo publish -token“Bearer (access token)”
使用UI部署包
您可以拖放或选择要上传的Cargo包部署在UI中。Artifactory将自动识别该包是源包还是二进制包。
目标路径
为了支持这个特性,使用下面的布局是很重要的。
箱/ {package_name} / {package_name} - {version} .crate
使用cURL部署包
使用cURL请求部署包。
curl -uadmin:password -XPUT "http://localhost:8082/artifactory/cargo-local/crates/package_1.0.0。-T package_1.0.0.crate
当直接部署(PUT请求到特定路径)时,请确保目标路径是有效的Cargo路径。
箱/ {package_name} / {package_name} - {version} .crate
注意,将包部署到不同的路径将不会将包标识为Cargo包,也不会调用元数据索引。
查看单个货物包裹信息
Artifactory允许您直接从UI查看Cargo包的选定元数据。
在工件存储库浏览器,选择本地的Cargo存储库,然后向下滚动以查找并选择要检查的包。
元数据显示在货物信息选项卡,或包视图。
重新索引货物存储库
您可以通过UI或使用REST API触发本地Cargo存储库的异步重新索引。
这也将重新索引git索引,因此也将索引远程存储库。
在工件树浏览器,选择Cargo存储库,右键单击并选择重新计算指数从列表中。需要管理员权限。
要通过REST API重新索引Cargo存储库,请参考计算货物仓库元数据。
利用稀疏索引建立货物索引
从Artifactory版本7.46.3开始,支持Cargo稀疏索引。稀疏索引允许您控制输入索引数据库的连接。稀疏索引还允许:
- 更快的构建时间,因为不涉及Git克隆/拉取
- 使用远程货物存储库的代理。
Cargo稀疏索引从Cargo 1.60及更高版本开始支持,目前是一个夜间功能。
启用Cargo稀疏索引:
- 对于全局的所有Cargo存储库,在存储库配置JSON,加入
“cargoInternalIndex”:真的
国旗。 - 对于单个Cargo存储库,选择启用稀疏索引支持“Cargo Repository Basic”选项卡的“常规设置”部分中的复选框JFrog平台UI。
- 对于现有的存储库,在应用标志后重新索引。
- 对于新的存储库,不需要初始化时间,因为没有在后台创建Git克隆。
规则及指引
- 当配置为智能远程存储库时,URL应该是http://domain/artifactory/cargo-loca
- 而注册中心URL应该是http://domain/artifactory/api/cargo/cargo-local/index
要使用官方的Rust远程存储库URL,请使用URL和注册库URL创建一个远程存储库https://index.crates.io。
有关更多信息,请参见生锈的文档。
帮我介绍
要将Cargo客户机配置为使用稀疏索引与JFrog Artifactory相对工作,请编辑Cargo主目录下的配置文件(例如~ / .cargo / config.toml
):
对于本地存储库,编辑为:
(注册表。artifactory] index = "sparse+https://RTUTL/artifactory/api/cargo/cargo-local/index/"
对于远程存储库,编辑为:
【来源。artifactory-remote注册表= "sparse+https://admin:password@RTURL/artifactory/api/cargo/cargoh/index/"[来源]replace-with = "artifactory-remote"
所有客户端调用都需要包含- z sparse-registry
(或- z http-registry
在旧的实现中)。例如:
发布-Z稀疏注册表——注册表artifactory——允许-脏
cargo build -Z稀疏注册表
其他-Z稀疏注册表——注册表artifactory