LoginSignup
0
0

More than 5 years have passed since last update.

TravisCIからGitHubへのデプロイが401 - Bad credentialsで失敗する問題の対応

Posted at

目的

TravisCIでビルドした成果物をGitHubのReleaseに貼り付けたい。

問題

以下の手順を踏んだところdeployでエラーが出て失敗する。
travisコマンドのバージョンは1.8.9、使用しているtravisは.comの方である。

  1. 予め.travis.ymlがあるリポジトリに移動する
  2. travis login
  3. travis setup releases
  4. 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円くらいでもなんか嬉しい気がする。

0
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
0
0