使用 ktra 搭建私人 Cargo registry
最新文章只发在:https://zjp-cn.github.io/posts/ktra-cargo-registry/
使用工具:
- ktra:纯 Rust 编写的,用于搭建 Cargo registry 的命令行工具
安装它:
cargo install ktra
注意:
- 这开启了
secure-auth
和db-sled
,数据库是内置的 sled - 如果你需要 redis 或者 mongo 作为后端数据库,自行添加 features,见 https://book.ktra.dev/installation/cargo.html
- 如果你不想通过命令行运行,而是通过 docker 部署,见 https://book.ktra.dev/installation/docker.html
步骤一:创建 Git Index 仓库
由于 Cargo 使用 git 或者 sparse 协议,后者是最近才稳定的(2023 年),而 ktra
出现得比较早,所以目前只基于 git 协议。
在 gitee 上创建新仓库,比如 ktra-cargo-registry
,然后在本地新建这个仓库(主分支为 main),创建仓库配置文件,并提交和推送:
mkdir ktra-cargo-registry
cd ktra-cargo-registry
git remote add origin git@gitee.com:xxx/ktra-cargo-registry.git
echo '{"dl":"http://localhost:8000/dl","api":"http://localhost:8000"}' > config.json
git add config.json
git commit -am "initial commit"
git push origin main
注意:
- 本文描述的是私有 registry 部署(Index 仓库是私有的,发布的 crate 存于自己的私有服务器)
- 如果你想基于私有 registry 进行更大范围的公开使用,那么可能会对 ktra 的 OpenId 感兴趣(它更复杂)
步骤二:增加本地 Cargo registry
在 Cargo 的配置文件中,比如全局配置文件 ~/.cargo/config
[registries]
ktra = { index = "git@gitee.com:xxx/ktra-cargo-registry.git" }
注意:
- 全局配置文件可以是
~/.cargo/config
或者~/.cargo/config.toml
,见 https://doc.rust-lang.org/cargo/reference/config.html - 你可以填 HTTPS 地址,git 验证会简单些(因为 SSH 的方式需要设置 Cargo 的
git-fetch-with-cli
,以及 gitee 设置 SSH 公钥)具体来说,在 HTTPS 情况下,登陆或者获取 registry 需要手动输入账号和密码
$ cargo bUpdating `ktra` index Username for 'https://gitee.com': xxx Password for 'https://xxx@gitee.com': xxx
所以,你可能还需要设置
git config --global credential.helper store
或者git config --global credential.helper cache
来减少手动登录的次数。嗯,这就是 git 最基本的登录设置使用 ktra 搭建私人 Cargo registry相关推荐
- 树莓派64位系统_树莓派4b+Ubuntu server+Nextcloud搭建私人云盘(1):准备系统
最近剁手买了一个4G版本的树莓派4b,并配了64g tf卡.我打算用它来搭建一个自己的私人服务器. 需求:树莓派4b+一部本地电脑+网线+路由器+一部有公网ip的云主机 首先,我们先到官方下载Ubun ...
- java 博客系统_讲解开源项目:5分钟搭建私人Java博客系统
本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和运行 Tale 项目.示例均在 Windows 操作系统下演示 本文作者:HelloGitHub-秦人 HelloGitHub 推出的< ...
- html博客源码_5分钟搭建私人Java博客系统——Tale
本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和运行 Tale 项目.示例均在 Windows 操作系统下演示 本文作者:HelloGitHub-秦人 HelloGitHub 推出的< ...
- tf 设置多显卡_用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置
原标题:用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置 用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置 2020-10-22 23:10:150点赞0收藏0评论 小编注:此篇文章来自#原创 ...
- 计算机云共享盘,搭建私人云网盘:局域网访问共享数据
搭建私人云网盘:局域网访问私人云的共享数据 作为一个云网盘,首先当然是得能访问里面的数据.我们首先来看局域网环境下的情况. 很多朋友都在使用路由器,家里有几部电脑或者手机都连接在同一个路由器中.在这种 ...
- 零基础搭建私人影音媒体平台【远程访问Jellyfin播放器】
文章目录 1. 前言 2. Jellyfin服务网站搭建 2.1. Jellyfin下载和安装 2.2. Jellyfin网页测试 3.本地网页发布 3.1 cpolar的安装和注册 3.2 Cpol ...
- 树莓派4b搭建个人云_用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置
用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置 2020-10-22 23:10:15 17点赞 57收藏 16评论 小编注:此篇文章来自即可瓜分10万金币,周边好礼达标就有,邀新任务奖励无上限 ...
- Cpolar实现虚拟机内网穿透,搭建私人云服务器
Cpolar实现虚拟机内网穿透,搭建私人云服务器 一.Cpolar功能介绍 Cpolar官网 Cpolar是一个安全的内网穿透的服务,可以将内网下的本地服务器通过安全隧道暴漏给公网.允许公网用户可 ...
- 树莓派--seafile搭建私人网盘
树莓派–seafile搭建私人网盘 此次目的就是搭建私有云盘,由于之前搭建的nextcloud太过于庞大,小小的树莓派无法支撑nextcloud这艘巨轮,所以这次是换个轻量的云私有seafile 文章 ...
最新文章
- 理解Java中的hashCode 和 equals 方法
- HashiCorp Nomad和遗留系统
- Android本地视频播放器开发--视频解码
- .NETStandard FreeSql v0.0.9 功能预览
- 【HTML/CSS】HTML元素种类的划分
- 最小二乘方法和RANSAC的改进算法PROSAC和LMEDS
- java面试题 springmvc 解决post get请求乱码问题
- python 读png的值变了_深度学习数据预处理_python批量转换labelme标注的json格式标签为png格式...
- javascript 数组操作函数
- 走向Java架构师之路:成为架构师要掌握的8大能力
- Linux epoll模型详解
- WinFrom窗体MyQQ程序(附源码)
- php fpm 报错,php-fpm报错
- 2021-2027中国服务器机箱市场现状研究分析与发展前景预测报告
- ubuntu20编译Gmssl时,“version OPENSSL_1_1_0d not defined”问题的较好解决办法
- 瑞禧整理常见的抗体药物偶连物(ADC-Linker)名称及结构式大全
- 重磅!中科院院士,任复旦大学新校长!
- TypeError: expected Tensor as element 0 in argument 0, but got numpy.ndarray
- 软件测试BUG(缺陷)等级分类
- 大学英语综合教程一 Unit 6 课文内容英译中 中英翻译
热门文章
- 树莓派64位系统_树莓派4b+Ubuntu server+Nextcloud搭建私人云盘(1):准备系统