LoginSignup
1
0

More than 5 years have passed since last update.

Travis CI+Carthageでprebuilt frameworkがダウンロードされない場合の対処法

Posted at

Travis CIでCarthageを実行したときに、次のようなエラーが出てprebuilt frameworksがダウンロードされない場合の対処法です。

*** Skipped downloading RxSwift.framework binary due to the error:
        "Maximum number of login attempts exceeded. Please try again later."

どうやらこのエラーは同一IPのTravis CIコンテナがみんなのプロジェクトで共用されているために、GitHubのrate limitに引っかかったことが原因で発生しているらしいです。
以下のようにGitHub APIのアクセストークンを指定してあげることで、回避できます。

(事前準備)travisコマンドのインストール

travisコマンドのgemをインストールしておきます。

sudo gem install travis --no-document

アクセストークンの作成

https://github.com/settings/tokens へアクセスして、Travis CI用のアクセストークンを作成します。

(1) Generate new token ボタンを押します。
(2) Token description に「Travis」と入力して(※別になんでもいいんだけど、あとで自分がわかりやすい名前で)作成します。下にあるスコープのチェックボックスはすべて空欄で構いません。
GenerateToken.png

(3) 作成されたトークンはコピーしておきます。
CopyToken.png

.travis.ymlへのアクセストークンの指定

travisコマンドを使って、先程コピーしたアクセストークンを(暗号化して) GITHUB_ACCESS_TOKEN環境変数にセットするように、.travis.ymlファイルを書き換えます。
<YOUR ACCESS TOKEN> の部分にコピーしたトークンを指定してください)

travis encrypt GITHUB_ACCESS_TOKEN=<YOUR ACCESS TOKEN> --add

.travis.ymlに次のような記述が追加されるはずです。

env:
  global:
    secure: fDs1oSS...(以下略)

※ もし、travis encryptに失敗して、 uninitialized constant GH::Error というエラーが出た場合は(私がそうだったのですが)、次のようにbackportsを最新にすることで回避できるようです。(参考

sudo gem update backports

参考にしたサイト

https://github.com/travis-ci/travis-ci/issues/4195
https://github.com/Carthage/Carthage/pull/605

https://gist.github.com/topheman/25241e48a1b4f91ec6d4
https://github.com/travis-ci/travis.rb

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0