目的
TravisCIでビルドした成果物をGitHubのReleaseに貼り付けたい。
問題
以下の手順を踏んだところdeployでエラーが出て失敗する。
travisコマンドのバージョンは1.8.9、使用しているtravisは.comの方である。
- 予め.travis.ymlがあるリポジトリに移動する
travis login
travis setup releases
- pushしてTravisが動く
上記で次のようなエラーが出る。
Preparing deploy
/home/travis/.rvm/gems/ruby-2.4.1/gems/octokit-4.6.2/lib/octokit/response/raise_error.rb:16:in `on_complete': GET https://api.github.com/user: 401 - Bad credentials // See: https://developer.github.com/v3 (Octokit::Unauthorized)
from /home/travis/.rvm/gems/ruby-2.4.1/gems/faraday-0.15.4/lib/faraday/response.rb:9:in `block in call'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/faraday-0.15.4/lib/faraday/response.rb:61:in `on_complete'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/faraday-0.15.4/lib/faraday/response.rb:8:in `call'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/octokit-4.6.2/lib/octokit/middleware/follow_redirects.rb:73:in `perform_with_redirection'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/octokit-4.6.2/lib/octokit/middleware/follow_redirects.rb:61:in `call'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/faraday-0.15.4/lib/faraday/rack_builder.rb:143:in `build_response'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/faraday-0.15.4/lib/faraday/connection.rb:387:in `run_request'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/faraday-0.15.4/lib/faraday/connection.rb:138:in `get'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/sawyer-0.8.1/lib/sawyer/agent.rb:94:in `call'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/octokit-4.6.2/lib/octokit/connection.rb:154:in `request'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/octokit-4.6.2/lib/octokit/connection.rb:19:in `get'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/octokit-4.6.2/lib/octokit/client/users.rb:34:in `user'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/dpl-releases-1.10.6/lib/dpl/provider/releases.rb:58:in `user'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/dpl-releases-1.10.6/lib/dpl/provider/releases.rb:83:in `setup_auth'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/dpl-releases-1.10.6/lib/dpl/provider/releases.rb:87:in `check_auth'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/dpl-1.10.6/lib/dpl/provider.rb:187:in `block in deploy'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/dpl-1.10.6/lib/dpl/cli.rb:41:in `fold'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/dpl-1.10.6/lib/dpl/provider.rb:186:in `deploy'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/dpl-1.10.6/lib/dpl/cli.rb:32:in `run'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/dpl-1.10.6/lib/dpl/cli.rb:7:in `run'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/dpl-1.10.6/bin/dpl:5:in `<top (required)>'
from /home/travis/.rvm/gems/ruby-2.4.1/bin/dpl:23:in `load'
from /home/travis/.rvm/gems/ruby-2.4.1/bin/dpl:23:in `<main>'
failed to deploy
対応
travis login
,及びtravis setup releases
に--pro
オプションをつけて実行する。
TravisCIはかつて公開リポジトリが無料で使える版と有料版でURLが異なっていた。(無料のほうが.orgで有料のほうが.com)
去年くらいから公開リポジトリも.comの方が使えるからよろしくという話が出てきて、私は.comの方に乗り換えていた。
URLが異なるのでTravisが使用するAPIのエンドポイントも切り替える必要がある。
そのための引数がこの--pro
である。(ちなみに.orgの方を明示的に指定する引数は--org
)
travis setup releases
を実行すると、api_keyが暗号化されるが、この暗号化されたキーは普通にtravis encryptしたときより長い気がするので、なんかこの辺の情報書いてそう。知らないけど。
終わりに
あけましておめでとうございます。
最近貧しいのでQiitaかいたらお金もらえないかな…。
1円くらいでもなんか嬉しい気がする。