【问题标题】:Jenkins GitHub access token - Enable Checks but not Write codeJenkins GitHub 访问令牌 - 启用检查但不编写代码
【发布时间】:2020-02-02 23:30:30
【问题描述】:

我正在尝试设置 Jenkins 多分支管道以向我的 GitHub 私有组织存储库添加状态检查。 Blue Ocean 要求 bot 用户具有写入(可能更多)权限,如下所示:

我想拉代码编写状态检查,但不推代码。是否有任何组合/解决方法可以实现这一点?


附:尽管我已经阅读了超链接文档,但我对他们需要的 each scope enables 和协作者(读/写/管理员)的 permission level 并不完全有信心。

【问题讨论】:

    标签: jenkins github github-api


    【解决方案1】:

    个人访问令牌授予用户 API 访问权限,与他们在 GitHub 中的权限级别相同,永远不会更高。例如,如果用户对某个 repo 具有读取权限,并且令牌被标记为“完全控制”,那么他们仍然只有对该 repo 的读取权限。

    编写状态检查要求用户对您的存储库具有写入、维护或管理权限,如本页所述: https://help.github.com/en/articles/repository-permission-levels-for-an-organization

    Write,顾名思义,授予对您的 repo 的推送权限,因此您需要考虑如何继续。

    我假设您使用的是 GitHub.com(而不是 GitHub Enterprise),因此建议如下:

    1. 授予机器人用户对您的存储库的写入权限

    2. 创建一个需要推送访问权限的用户团队

    3. 启用分支限制“限制谁可以推送到这个分支”
    4. 将您新创建的团队添加到限制中
    5. 将“分支名称模式”设置为*

    https://help.github.com/en/articles/enabling-branch-restrictions

    这会将限制应用于您的 repo 中的所有分支并阻止用户推送,但不会阻止写入状态检查。

    如果您使用的是 GitHub Enterprise,我会考虑使用预接收挂钩来防止机器人用户将代码推送到您的存储库中。

    米克

    【讨论】:

      猜你喜欢
      • 2019-06-18
      • 1970-01-01
      • 2020-08-01
      • 2019-10-16
      • 2021-10-17
      • 2021-10-19
      • 1970-01-01
      • 2021-12-12
      • 2020-06-05
      相关资源
      最近更新 更多