配置
局部存储库
要启用Cargo元数据的计算,在管理模块中,请转到存储库|存储库|当地的并选择货物随着包类型当您创建本地存储库时。
先决条件
在设置本地存储库之前,您需要为Artifactory实例配置一个Custom Base URL。有关更多信息,请参见一般设置.
本地存储库布局
你需要维护特定的路径结构来管理上传到Cargo本地存储库的Cargo包.
默认情况下,Cargo Source包会自动上传到相对路径:箱/ {package_name} / {package_name} - {version} .crate
.
在本地仓库中拉和解拉板条箱
Artifactory支持在本地存储库中删除和删除板条箱。
cargo yank hello_world——vers 0.1.4——令牌“持牌人(令牌)”——撤销
Yank/ unyank智能存储库
远程存储库
先决条件
在设置远程存储库之前,您需要为需要支持的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
.
解决货物包装问题
解决货物包装:
- 在应用程序模块中,导航到Artifactory |工件.
在Artifact Tree Browser中,选择一个Cargo存储库并单击给我介绍.
密码认证要求
当您需要在JFrog平台对面重新进行鉴权时,才会显示“Type Password”框。对于应用外部身份验证方法(如SAML或OAuth)的用户,该选项在UI中不可用。
为API调用设置凭据,例如
发布
而且猛地一拉
,将以下部分添加到Cargo主目录下的凭据文件(例如~ / .cargo /凭证
):(注册表。artifactory] token = "持有者< token >"
- 复制Cargo代码片段以发布Cargo包或配置Rust客户端以解析选定的工件存储库.
使用Rust命令行解析货物包
- 在应用程序模块中,导航到Artifactory |工件.
在Artifact Tree Browser中,选择一个Cargo存储库并单击给我介绍.
使用Cargo构建或安装命令安装包。
货物安装装货箱
解决多个货物注册
若要解析多个注册中心,请添加此可选标志
——注册(registryId)
.
身份验证:允许匿名下载
Cargo客户端不发送任何运行install和search命令时的身份验证头。
选择“允许匿名下载和搜索”来阻止匿名请求,但仍然允许匿名Cargo客户端下载和执行搜索,从而为特定存储库的那些端点授予专门的匿名访问权限。
展开货物包裹
可以使用Cargo Client将包部署到本地Cargo存储库部署UI中的特性,或者使用cURL请求。
通过货物客户端部署包(推荐)
要部署包,请运行以下Cargo发布
命令。
货物发布或货物发布——注册(注册编号)
要覆盖该存储库的凭据,请运行以下命令。
cargo publish——令牌"Basic (base64 of user:password)"或cargo publish——令牌"持牌人(access token)"
通过UI部署包
您可以拖放或选择一个Cargo包上传部署在UI中。Artifactory将自动识别该包是源包还是二进制包。
目标路径
与下面的布局保持一致以支持此功能是很重要的。
箱/ {package_name} / {package_name} - {version} .crate
使用cURL部署包
使用cURL请求部署包。
curl -uadmin:密码-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平台的用户界面.
- 对于现有存储库,在应用标志后重新索引。
- 对于新的存储库,不需要初始化时间,因为不需要在后台创建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 = "稀疏+https://RTUTL/artifactory/api/cargo/cargo-local/index/"
对于远程存储库,编辑为:
【来源。artifactory-remote] registry = "sparse+https://admin:password@RTURL/artifactory/api/cargo/cargoh/index/"[来源。crate -io] replace-with = "artifactory-remote"
所有客户端呼叫需要包括- z sparse-registry
(或- z http-registry
在旧的实现中)。例如:
cargo publish -Z sparse-registry——registry artifactory——allow-dirty
cargo build -Z稀疏注册表
cargo yank——版本0.1.4其他-Z稀疏注册表——注册artifactory