1个不稳定版本
0.1.0 | 2024年8月11日 |
---|
228 在 文件系统
117 每月下载量
23KB
326 行
Private-Crate-Hub
Private-Crate-Hub是一个私有的Rust包注册库,旨在将所有包数据存储在GitHub仓库中。它提供了一个简单且安全的方式来管理和分发您的私有Rust包,确保您的代码得到版本控制、备份,并且仅授权用户可访问。
我为什么需要它?
在处理私有的Rust项目时,尤其是在使用如release-plz
等工具时,将内容发布到公共的crates.io注册库并不是一个选择。管理一个私有注册库通常需要设置SQL数据库、S3存储和其他基础设施,这对小型项目来说可能是过度配置。
对于我的使用案例,我只有少数几个包(~100个),因此我需要一个更简单且不需要大量基础设施的解决方案。GitHub作为一个功能强大且内置版本控制、安全性和备份功能的平台,是此目的的理想选择。通过使用GitHub作为存储后端,我可以消除维护数据库、处理备份或承担额外成本的需要。Private-Crate-Hub使得管理私有包变得简单,利用GitHub的功能使事情保持简单高效。
功能
- 私有注册库:保持您的Rust包私有和安全,仅对您的团队或组织可访问。
- GitHub集成:将所有包数据存储在指定的GitHub仓库中,利用GitHub强大的版本控制和安全功能。
- 无缝Cargo集成:与Rust包管理器Cargo无缝工作,使其易于在现有的Rust项目中使用。
入门指南
使用Docker
您可以使用Docker快速开始使用Private-Crate-Hub。此方法需要最小化设置,并确保环境的一致性。
- 拉取Docker镜像:
docker pull giangndm/private-crate-hub:latest
- ** 使用环境变量运行 **
您可以使用以下环境变量运行Private-Crate-Hub Docker容器
- GITHUB_TOKEN:具有必要仓库访问权限的GitHub个人访问令牌。
- OWNER:拥有仓库的GitHub用户名或组织名称。
- REPO:存储包数据的GitHub仓库名称。
- BRANCH:存储包数据的仓库分支。
- PUBLIC_ENDPOINT:Private-Crate-Hub可访问的公开端点。
- 授权:用于保护公共端点的授权令牌或方法。
以下是Docker命令
docker run -e GITHUB_TOKEN=your_github_token \
-e OWNER=your_github_username_or_org \
-e REPO=your_repository_name \
-e BRANCH=your_branch_name \
-e PUBLIC_ENDPOINT=https://your-public-endpoint.com \
-e AUTHORIZATION=your_authorization_token \
giangndm/private-crate-hub:latest
在Rust项目中使用
- ** Cargo配置 **
[registry]
global-credential-providers = ["cargo:token"]
[registries]
my-registry = { index = "sparse+http://your-public-endpoint.com/index/" }
- ** 依赖项 **
将registry
字段添加到每个私有库中
lib1 = { path = "../../crates/lib1", version = "0.1.2", registry = "my-registry" }
依赖项
~20–32MB
~541K SLoC