跳到主要内容

注册登录的常见问题:账号、认证、令牌

第 2 篇讲的是顺利路径。这篇收一路上真正会卡人的地方。

一、注册前先分清「账号」和「身份」​

CNB 上你其实有两个身份在同时起作用:

  • 平台账号:登录 cnb.cool 网页用,决定你能进哪个组织、看哪些仓库
  • Git 身份:git push 时提交的 author,以及凭据认证

两者可以不是同一个东西。网页上你是「张三」,命令行提交可以是 zhangsan <zhangsan@company.com>。 CI 页面里显示的提交者,取的是 Git 身份。

:::tip 提交者信息对不上,先查这里 流水线显示的作者不是你,别急着怀疑平台——大概率是本地 git config user.email 没配。

git config --global user.name "你的名字"
git config --global user.email "you@example.com"

:::

二、Git 认证:三条路,选一条​

CNB 的 Git 地址格式与 GitHub 类似,认证方式有三种,按场景选:

方式适合注意事项
网页授权(OAuth)网页操作、云原生开发环境内无需本地配置
访问令牌 + HTTPS本地克隆、脚本、第三方工具用户名固定填 cnb,密码填令牌
SSH 密钥长期本地开发需先把公钥加到个人设置

最常见的问题是用户名填错。用访问令牌做 HTTPS 认证时:

git clone https://cnb.cool/yamingnetwork/emchaye.git
# Username: cnb
# Password: <你的访问令牌>

用户名不是你的账号名,就是 cnb 这三个字母。填成账号名会一直提示认证失败。

三、访问令牌怎么配权限​

入口:个人设置 → 访问令牌 → 添加访问令牌。

创建时有四项要填:名称、到期时间、使用范围、授权范围。最后一项最容易配错。

默认权限是这样设计的:

  • 公开的组织 / 仓库 / 制品库 / 任务集:默认只读
  • 私有仓库 / 制品库:默认无权限
  • 账号相关操作:默认无权限

所以"令牌生成了但拉不动私有仓库"几乎必然——你得手动勾上对应仓库范围的读权限。

:::tip 最小权限原则 令牌就是一把钥匙。给脚本用的令牌,只勾它需要的那一两个范围。 范围配大了,脚本一旦泄露,损失是全量的。 :::

四、部署令牌和访问令牌,别搞混​

访问令牌部署令牌
身份个人仓库级
权限可读写只读
适合开发、脚本、OpenAPI 调用CI 拉代码、部署脚本、只读同步

CI/CD 与自动化脚本里拉代码,优先用部署令牌。它不能写,泄露了也改不了东西。

五、几个高频问题快答​

Q:登录后找不到组织? 组织成员是邀请制。找组织管理员在 组织设置 → 成员 里邀请你。私有组织的仓库对非成员不可见,连搜索都搜不到。

Q:改了组织名,本地仓库推不上去了? 组织名就是路径。改完要更新本地 remote:

git remote set-url origin https://cnb.cool/新组织名/仓库名.git

CI 配置里硬编码的旧路径也要一起改。

Q:Fork 别人的仓库,为什么流水线不跑? Fork 仓库默认不自动触发任何流水线(Git 事件、定时任务、Issue 事件都不跑),这是安全设计。需要源仓库管理员在 设置 → 云原生构建 勾选「Fork 的仓库默认允许自动触发」。

Q:提交签名验证报错? CNB 支持 GPG 提交签名验证。网页端提交由平台默认签名 web-flow.gpg;本地提交需自行生成 GPG 密钥并把公钥加到个人设置。

六、账号配好了,下一步读什么​

认证是地基。地基打完,接下来是怎么在仓库里干活——这属于平台操作,但真正决定体验的是 git 和 Issue/PR 的配合。

现在你已经能登进来、能推代码、能被 CI 认出来了。下一篇换个角度:不用网页,直接在命令行里把平台当工具箱用。