#GWアドベントカレンダー 「1つサービスを作る」の7日目記事 Herokuへdeploy
以下の GWアドベントカレンダー 「1つサービスを作る」の7日目記事です。
とりあえず出来たものをHerokuにdeployしていきます。
ソースの変更
Herokuのアカウントは作ってある、そしてHerokuのCLIツールはインストール済みとします。
まずは定番のGemfileの編集です。
sqlite3
をdevelopment group
に移し、新しくproduction group
を作り、そこに移動します。
group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] # Use sqlite3 as the database for Active Record gem 'sqlite3', '~> 1.4' end group :production do gem 'pg' end
そしてインストールします。
bundle install
なお --without production
を付けてないのは--without
がDEPRECATED
だからです。
次にデータベースの設定を変更します。
config/database.ymlを変更します。
production: <<: *default database: db/production.sqlite3
とあるので、これを変更します。
production: <<: *default adapter: postgresql encoding: unicode pool: 5
最後に、config/environments/production.rbのconfig.assets.compile
をtrue
に変更します。
config.assets.compile = true
Gitの初期化
ローカル環境のGitを初期化しておきます。
git init git add -A git commit -m 'Initial commit'
Herokuへdeploy
Herokuにログインします。
heroku login
ブラウザが起動するのでログインします。
Herokuでアプリの作成をします。
これは1回だけ実行します。
heroku create heroku remote -v
Herokuのdeploy先が表示されればOKです。
deployする。
git push heroku master
多少のワーニングが出るが気にしない。
データベースをMigrationする。
heroku run rails db:migrate
Twitterの設定変更する
Callback URLをheroku create
したときに出た場所に変更する。
https://deployした場所.herokuapp.com/users/auth/twitter/callback
動作確認
https://deployした場所.herokuapp.com/users/sign_up/ にアクセスするとdeployができていることが確認できます。
Sign in with TwitterをクリックするとSign inが出来ました。
まとめ
railsでdeviceとomniauth-twitterとbootstap4を使ってHerokuへのdeployまでができました。
完成には、まだ遠いのですが、ベースの仕組みはできたので、なにかに使えればいいですね。
余計なサービスなども、そのうちやっていきますが、今回のGWアドベントカレンダーは、ここで終わりにします。