3 个版本
0.1.4 | 2021年11月10日 |
---|---|
0.1.2 | 2021年9月23日 |
0.1.1 | 2021年9月21日 |
#1953 in 命令行工具
54KB
1K SLoC
🏭 starship-gitlab
这不是 starship.rs 的官方项目。
一个 WIP 项目,用于在终端上使用 starship.rs 显示 GitLab Pipeline 状态。
安装
目前,starship-gitlab
只能通过运行 cargo
来安装。
cargo install starship-gitlab
从源代码安装
cargo install --git https://gitlab.com/Kores/starship-gitlab
可能需要额外的依赖,例如
git
配置
更新您的 ~/.config/starship.toml
并添加以下行
[custom.starship_gitlab]
command = "starship-gitlab"
directories = [".git"]
format = "[$output]($style)"
示例
配置 Gitlab 主机的 PAT 令牌
要检索私有仓库的 Pipeline 信息,您需要注册一个访问令牌。
个人令牌
starship-gitlab token-set --host gitlab.com --personal-token TOKEN
项目令牌
starship-gitlab token-set --host gitlab.com --project-token TOKEN
OAuth2 令牌
starship-gitlab token-set --host gitlab.com --oauth2-token TOKEN
缓存
starship-gitlab 使用 sled 数据库进行缓存,这减少了向 Gitlab 的查询次数,并避免了命令执行中的延迟。
速率限制
Gitlab 有一个 速率限制,在请求 Gitlab API 资源时报告在 HTTP 头部。在编写此文档时,未认证请求的速率限制为 2000。
这些值可以在 此处 找到,并且可能会在未来发生变化。
然而,缓存是为了使体验更加流畅(而不仅仅是因为速率限制),因为请求需要一些时间(即使在快速连接中)并且会负面地影响体验。
缓存位置
缓存数据存储在 ~/.cache/starship-gitlab
,
缓存条件
为了缓存,Pipeline 必须处于以下状态之一
- 成功
- 失败
- 取消
- 跳过
其他状态不缓存,这意味着每次都需要请求以检查 Pipeline 状态,这可能会减慢具有 Gitlab 仓库的项目中的命令。
缓存失效
当有新提交或提交未推送到远程时,会进行缓存失效。
也可以使用 --clear
参数来使缓存失效
starship-gitlab --clear
依赖
~25–37MB
~644K SLoC