GitLab 和 GitHub 创建 Token
创建适用于 Jenkins 的 Token
GitHub 的 Fine-grained PATs 和 Classic tokens 主要区别在于权限颗粒度和安全性:Fine-grained 提供具体仓库的细粒度权限、自动审核和有效期限制,而 Classic 是旧版、通用的全局权限。Fine-grained 更安全,适用于精细控制,而 Classic 适用于旧系统和简单场景。
- Fine-grained (细粒度令牌): 允许针对特定的存储库 (Repository) 设置特定的读/写权限,例如仅对某个项目提供代码读权限。
- Classic (经典令牌): 提供对用户或组织下所有存储库的广发权限,范围较为宽泛。
- Fine-grained: 更符合“最小权限原则”,安全性更高,泄露风险较低。如果用于组织,可能需要组织管理员批准。
- Classic: 如果泄露,攻击者可能拥有对所有账号资源的控制权。
Fine-grained: 通常要求设置较短的有效期,提高安全性。 Classic: 可以设置较长或永久的有效期,但在安全合规上不推荐。
Fine-grained: 适用于需要细致控制的 CI/CD、API 调用或集成场景。 Classic: 适用于需要广泛访问权限的旧应用程序或快速开发场景。
为了更好的安全性,GitHub 推荐使用 Fine-grained tokens。
点击头像,选择 Settings

左侧菜单,最下边,选择 Developer settings

左侧菜单,选择 Personal access tokens -> Finer-grained tokens -> 点击 Generate new token

设置 Token name (Token名称) 和 Expiration (有效期)

设置权限
- Repository access -> All repositories (所有仓库)
- Permissions -> Contents、Metadata、Pull requests、Webhooks -> 权限 Read-only

确定并生成

查看并拷贝 Token

点击头像,选择 Edit profile

左侧菜单,选择 Personal access tokens -> Add new token

设置 Token name (Token名称)、Expiration date (有效期) 和 Select scopes (权限)

查看并拷贝 Token

进入 Jenkins -> Manage Jenkins 点击 Credentials

Credentials 中点击 Global

Global credentials 中点击 adding some credentials

添加 GitLab 账号的 Token

添加 GitHub 账号的 Token

Global credentials 列表

编辑 Credentials 选择对应的 Token
