我们的jenkins服务器(版本2.164.2)不断向Github发出大量请求,因此超出了Github API的速率限制。Github支持团队发现,用户代理字符串git-credential-manager贡献了60%的Api调用。大多数呼叫都是https://api.github.com/user/subscriptions,并且座席是git-credential-manager (Microsoft Windows NT 6.2.9200.0; Win32NT; x64) CLR/4.0.30319 git-tools/1.20.0 597,376 57.032%
在process explorer中,它显示Jenkins触发了很多git-credential manager:

我们在Jenkins中为org.jenkinsci.plugins.github和org.jenkinsci.plugins.github_branch_source添加了一些日志记录器,但它们不会进行大量的github调用。有没有办法找出是哪个Jenkins插件发出了这些调用?
发布于 2020-04-12 00:43:39
有没有办法找出是哪个Jenkins插件在做这些调用呢?
我对Jenkins不够熟悉,无法对此发表评论,但我可以告诉您更多关于您所看到的行为的信息,因为这可能有助于您确定根本原因。
git.exe调用git-remote-https.exe通过HTTPS与GitHub交互,然后调用git-credential-manager,因为这是配置的助手脚本来获取凭据。然后,git-credential-manager调用api.github.com/v3/user/subscriptions来测试它拥有的凭据(可能存储在Windows凭据存储中)是否有效。
我不认为这与某个特定的插件有关,但更多的是与Jenkins使用私有存储库和在机器上调用Git有关。如果您使用的是私有GitHub存储库,这可能会消耗正在进行身份验证的帐户的API调用,从而导致它受到速率限制。
我会在您的构建过程中检查这些类型的操作:
在两次构建之间不在磁盘上缓存存储库的API构建设置(如果这是包括获取/推送/拉入步骤的supported)
https://stackoverflow.com/questions/61073368
复制相似问题