現在、ポートフォリオ を作成中です。
Rails(apiモード)をheroku.ymlとcircleciを使ってC/Dを構築したいのですが、いろんな方法をためしたのですが、はまっています。
やりたいこと
circleciを利用し、herokuへデプロイ
試したこと
デプロイの定義を
- run: name: git push heroku master command: git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git master
heroku loginせよとエラーが表示され、
heroku loginを記載すると
- run: # name: heroku login # command: heroku login # - run: # name: heroku login # command: heroku container:login - run: name: git push heroku master command: git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git master
HEROKU_API_KEYでログインできないと言われます。
HEROKU_API_KEYは色々試しており、
herokuのアカウント設定から、CIRCLECIに設定したり、
heroku auth:token で拾って設定したり、
長期トークンを拾って設定したり試しましたが、
うまくいきませんでした。
(HEROKU_APP_NAMEも設定済)
なお、CIRCLECIを利用せず、手元で
git push heroku master や
heroku container:login command: heroku container:push web -a $HEROKU_APP_NAME command: heroku container:release web -a $HEROKU_APP_NAME
は実行でき、デプロイできています。
Circleci/config.yml
orbとデプロイ部だけ抽出
version: 2.1 orbs: ruby: circleci/ruby@1.4.0 heroku: circleci/heroku@1.2.6 # jobの定義 jobs: # ビルド、テスト部省略 deploy: docker: - image: cimg/ruby:3.0.0 steps: - checkout #dockerコマンドが使えるように - setup_remote_docker: version: 20.10.11 - heroku/install ## この辺のコメントアウトは色々試した結果です。 # - heroku/push-docker-image # - heroku/release-docker-image # - heroku/deploy-via-git # - heroku/deploy-via-git # - run: # name: heroku login # command: heroku login # - run: # name: heroku login # command: heroku container:login # - run: # name: push docker image # command: heroku container:push web -a $HEROKU_APP_NAME # - run: # name: release docker image # command: heroku container:release web -a $HEROKU_APP_NAME - run: name: git push heroku master command: git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git master # - run: # name: git push heroku master # command: git push heroku master # - run: # name: database setup # command: heroku run bundle exec rake db:migrate RAILS_ENV=production -a $HEROKU_APP_NAME # 実行順 workflows: version: 2 build_test_and_deploy: jobs: - build - test: requires: - build - deploy: requires: - test context: - cooklog-api filters: branches: only: master
heroku.yml
setup: addons: - plan: cleardb config: RACK_ENV: production RAILS_ENV: production RAILS_LOG_TO_STDOUT: enabled RAILS_SERVE_STATIC_FILES: enabled build: docker: web: Dockerfile config: WORKDIR: app run: web: bundle exec puma -C config/puma.rb
参考記事
https://myownpace.netlify.app/circleci_heroku_doesnot_work/
https://qiita.com/minoppp411/items/50d683217182bb840d75
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。