gpt4 book ai didi

git - 如何在 Jenkins 作业中克隆 github 组织的私有(private)存储库

转载 作者:太空狗 更新时间:2023-10-29 14:45:13 26 4
gpt4 key购买 nike

我是 github 组织的所有者,我可以访问所有存储库。其中一些是私有(private)的,另一些是公共(public)的。我正在尝试设置 Jenkins 以在向组织的任何存储库发出 pull 请求时触发构建。问题是我有一个外部系统,只要发出 pull 请求,它就会通过 github webhooks 得到通知。我必须将 Jenkins 与这个系统集成,这是一项要求。该系统还可以通过 api 请求触发对 Jenkins 的通知。 ( https://python-jenkins.readthedocs.org/en/latest/examples.html )

我可以看到所有自动Jenkins构建触发器的解决方案都与Jenkins的github插件有关。 (https://wiki.jenkins-ci.org/display/JENKINS/GitHub+Plugin)。我目前无法使用它,因为我在 github 和 Jenkins 之间有一个新系统的额外间接访问。

目前,当我的系统收到来自 github 的通知时,它会发出 api 请求以使用存储库名称和分支构建作业。现在,jenkins 作业执行一个 shell 脚本,该脚本执行存储库的 git 克隆并运行测试。我找不到一种方法来对组织的私有(private)存储库进行 git 克隆。

要求

  1. Jenkins 构建控制台输出是公开的,因此登录相关信息不应出现在输出中。

  2. Jenkins 是为整个组织构建的,因此我不想将 ssh key 添加到我的 github 帐户。

完成它的最佳/更简洁的方法是什么?

最佳答案

您通常会通过创建一个 read-only deploy key 来处理这类事情。 .部署 key 是与单个存储库相关联的 ssh(公共(public)) key ,而不是与您的整个 github 帐户相关联。默认情况下,部署 key 是只读的(除非您在添加 key 时选中“允许写入访问”复选框)。

该链接还有一些其他建议,用于管理从自动化流程访问 github 存储库。

关于git - 如何在 Jenkins 作业中克隆 github 组织的私有(private)存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32030922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com