質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

Q&A

解決済

1回答

922閲覧

circleci経由でHerokuへデプロイできない

kiyomasa

総合スコア40

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

0グッド

0クリップ

投稿2022/06/14 22:49

現在、ポートフォリオ を作成中です。
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

https://qiita.com/gakinchoy7/items/ae31107ef56efb16fe7e

https://www.youtube.com/watch?v=bmXoupfX_r0&t=3301s

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

Contextが2つあることに気づき、config.ymlにcontextを利用するよう記述したらうまくいきました。

workflows: version: 2 build_test_and_deploy: jobs: - build - test: requires: - build - deploy: requires: - test context: - cooklog-api - my_portfolio_context filters: branches: only: master

投稿2022/06/25 23:37

kiyomasa

総合スコア40

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問