是否可以使用travis-ci或我的用户的某些auth凭证来使用github api

时间:2015-06-29 20:05:18

标签: travis-ci

在Travis-CI上进行测试我需要通过wget从github下载一些项目。以下是我在travis日志中的内容:

 Requesting a tar: 'wget https://api.github.com/repos/apache/hbase/tarball/1.1.0.1 -O src/main/java/apache-hbase.tar.gz'
 --2015-06-28 18:24:16-- https://api.github.com/repos/apache/hbase/tarball/1.1.0.1
 Resolving api.github.com (api.github.com)... 192.30.252.139
 Connecting to api.github.com (api.github.com)|192.30.252.139|:443... connected.
 HTTP request sent, awaiting response... 403 Forbidden
 2015-06-28 18:24:16 ERROR 403: Forbidden.

Github支持解释为:

  

您可能会达到未经身份验证的请求的速率限制:   https://developer.github.com/v3/#rate-limiting

     

如果您切换到进行身份验证请求 - 您应该获得一个   更好的API速率限制。我们不为Travis提供支持   平台,所以你应该联系Travis支持了解   使用他们的平台进行经过身份验证的请求的选项。

所以问题是:是否可以安全地重复使用Travis-CI凭证或我的travis用户的凭证来使用github api而不受每小时60个请求的限制?

1 个答案:

答案 0 :(得分:0)

您应该能够使用Github OAuth token将其安全地存储在Travis CI的encrypted variable中,然后将其传递到wget这样的电话:

// First encrypt your Github OAuth token
travis encrypt MY_GITHUB_OAUTH_TOKEN=token --add

上一次调用会自动将环境变量hash添加到.travis.yml文件中。

然后你应该可以在wget电话中使用它:

wget \
--header='Authorization: token $MY_GITHUB_OAUTH_TOKEN' \
https://api.github.com/repos/apache/hbase/tarball/1.1.0.1 \
-O src/main/java/apache-hbase.tar.gz

希望这有帮助!