如何检查哪个Jenkins插件/服务不断对GitHub API进行调用?

问题描述 投票:0回答:1

我们的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%

[从流程浏览器显示,詹金斯触发了很多git-credential-manager:enter image description here

[我们在Jenkins中为org.jenkinsci.plugins.githuborg.jenkinsci.plugins.github_branch_source添加了一些Log Recorder,但它们并没有进行很多github调用。无论如何,有没有找出哪个Jenkins插件在进行这些调用?

jenkins jenkins-plugins github-api
1个回答
0
投票

反正有没有找出哪个Jenkins插件在进行这些调用?

我对詹金斯还不够熟悉,无法对此发表评论,但是我可以告诉您更多有关您所看到的行为的信息,因为这可能有助于您找出根本原因。

git.exe正在调用git-remote-https.exe以通过HTTPS与GitHub进行交互,然后它会调用git-credential-manager,因为这是已配置的帮助程序脚本以获取凭据。然后,git-credential-manager将调用api.github.com/v3/user/subscriptions以测试其所拥有的凭据(可能存储在Windows凭据存储中)是否有效。

https://github.com/microsoft/Git-Credential-Manager-for-Windows/blob/1145b59498378a7ddbccdc45b216e17ef0d0a664/GitHub.Authentication/Src/Authority.cs#L190-L208

我不认为这与特定的插件相关,但更多与Jenkins使用私有存储库并在计算机上调用Git有关。如果您使用的是私人GitHub存储库,则可能正在使用要进行身份验证的帐户的API调用,从而导致该帐户受到速率限制。

我会在您的构建过程中检查这些类型的操作:

  • 在构建之间不将存储库缓存在磁盘上的构建设置(如果支持)
  • 包含获取/推/拉步骤的构建(更多构建,更多API调用)
  • 在脚本中即时克隆存储库或子模块
© www.soinside.com 2019 - 2024. All rights reserved.