我在GitHub上有一个公共仓库,它通过GitHub API列出(和克隆)一些组织存储库来验证Travis上的Pull Requests。
选项很少
将拉取请求构建器置于未授权状态,由于GitHub API速率限制,使其易于出错,从而导致失败。由于在单个IP地址后面有多个构建代理,并且GitHub API限制了基于IP的公共调用的速率,这使得每个第2个或第2个请求请求构建都会失败。显然远非理想,我需要等待半小时才能重新开始构建
在Travis PR版本中将github个人访问令牌设置为公共/未加密变量(对整个世界可见)。
现在,虽然我知道以这种方式公开凭据是非常不好的做法(选项2),并且只能通过以下选择的“列出公共存储库”操作来完成,但攻击者除了花销钱还可以做些什么所有的API调用又一次受到限制? (根据this post,每小时为5000)
还有,有什么方法可以使用不同的免费公共项目CI平台来克服此限制?出于安全考虑,用于公共项目的Azure DevOps似乎具有相同的限制(PR构建没有秘密)。