@fukutechの技術ブログ

概要

(Railsでのアプリ開発を想定、Cloud9ではなくVSCodeを使用)

  • Heroku用のデータベース設定
  • Herokuのインストール
  • Herokuサーバー上でアプリケーションの作成
  • Herokuへのデプロイ
  • デプロイ時のエラー集とその対策

要点

Heroku用のデータベース設定

  • HerokuではSQLiteがサポートされていないため、sqlite3 gemが本番環境に導入されないようにする
    • Gemfileに以下のように設定
    • $ bundle install --without productionを実行
source 'https://rubygems.org'  
・  
・  
・  
group :development, :test do  
  gem 'sqlite3'  
  ・  
  ・  
  ・  
end  
  ・  
  ・  
    ・  
group :production do  
  gem 'pg'  
end  
  ・  
    ・  
    ・  

Herokuのインストール

  • Herokuのアカウント登録
  • $ heroku -vでHerokuがインストールされているかを確認
    • インストールされていない場合、Heroku Toolbeltからインストールを実行
    • MacOSの場合は$ brew install heroku/brew/herokuを実行するとインストールが可能
  • 再度$ heroku -vでHerokuがインストールされているか確認
    • heroku-cli/6.15.5 (linux-x64) node-v9.2.1のようにバージョンが表示されればOK
(1) $ heroku -v  
     heroku: command not found  

(2) $ brew install heroku/brew/heroku  

(3) $ heroku -v  
     heroku-cli/6.15.5 (linux-x64) node-v9.2.1  

Herokuサーバー上でアプリケーションの作成

  • $ heroku loginでHerokuへログインする
  • $ heroku keys:addでSSHキーを登録
  • $ heroku createでHerokuサーバーを作成
(1) $ heroku login  
     または、$ heroku login --interactive  

(2) $ heroku keys:add  
     Yを入力  

(3) $ heroku create  

Herokuへのデプロイ

  • RailsアプリケーションをHerokuにデプロイするには、
    • 事前にGitHubやBitbucketにリポジトリを作成、必要なファイルをプッシュしておく
    • $ git push heroku masterでHerokuにリポジトリをプッシュする
(1) リポジトリ作成、必要なファイルをプッシュ  
(2) $ git push heroku master  

デプロイ時のエラー集とその対策

  • Herokuへmaster以外のブランチをプッシュしようとしたらエラーが発生した
    • やったこと:$ git push heroku master以外のブランチ名
  • Heroku用のリモートを削除して再度Herokuアプリケーションを作成してプッシュしたら解決
$ git remote -v  # heroku用のリモートの状態を確認  
$ git remote rm static_pages  # heroku用のリモートを削除  
$ git login  
$ git keys:add  
$ git create  
$ git push heroku master  
  • Herokuへmaster以外のブランチをプッシュする正しいやり方は以下の通り
$ git push app名 ブランチ名:master  

(例) $ git push sample_app static_pages:master  

参考URL

このログへのコメント

コメントはありません