概要
- GitHubへpushするとCircleCIが動作しHerokuへデプロイする仕組みを製作中にハマった。
事象
- CircleCIからHerokuへログインするのが失敗したとエラーメッセージが出た。
remote: ! WARNING:
remote: ! Do not authenticate with username and password using git.
remote: ! Run `heroku login` to update your credentials, then retry the git command.
remote: ! See documentation for details: https://devcenter.heroku.com/articles/git#http-git-authentication
fatal: Authentication failed for 'https://heroku:@git.heroku.com/.git/'
対処法
そこでHerokuへのログイン認証が失敗していると思い.circleci/config.yml
に下記記述を追加。
..circleci/config.yml
jobs:
deploy:
executor: heroku/default
steps:
- checkout
- heroku/install
- run: heroku login # Herokuにログインする処理を追加
- heroku/deploy-via-git:
only-branch: main
すると下記エラーが発生
Error: Cannot log in with HEROKU_API_KEY set
こちらの記事を参考にAPIキーを再発行して挑戦。
しかし失敗。。。
解決策
結論としては- run: heroku login
を削除したら問題なく動いた。
エラーメッセージのRun heroku login
とは何だったのか。。。
所感
言われてみれば確かにCircleCIからHerokuへ認証ってどうやっているんだろうと不思議に思い
認証を頑張っていたがなぜか一向に成功せず。
ダメもとで一旦ログイン処理を削除したらなぜか後続の処理が動作した、
ここら辺の仕組みがどうなっているかさっぱり謎だがとりあえず動いたのでまあよし(現場猫)