Rails
Git
Heroku
Gemfile
Rails5

Railsアプリをデプロイ後、2回目以降のデプロイ方法

前提

この記事を公開した時の環境を以下に示す。

使用言語 バージョン
Ruby 2.4.0
Ruby on Rails 5.1.4

この記事の背景

多くの記事にはRailsアプリを初回にデプロイする方法は書いてあるが、その後そのアプリを修正したくなったときどうすれば良いのか書いてない。
ということでこの記事には2回目以降どう開発をしていくのかを綴る。
なお利用しているサーバはHeroku。

先ずは公開されているアプリをローカルにコピーする

XXXXXをアプリ名だとすると

$ heroku info --app XXXXX

と入力して出てくる

Addons:         heroku-postgresql:hobby-dev
Auto Cert Mgmt: false
Dynos:          web: 1
Git URL:        https://git.heroku.com/XXXXX.git
Owner:          (メールアドレス)
Region:         us
Repo Size:      127 KB
Slug Size:      37 MB
Stack:          heroku-16
Web URL:        https://XXXXX.herokuapp.com/

内のGit URLを用いて

$ git clone https://git.heroku.com/XXXXX.git

を入力。するとカレントディレクトリに公開したRailsアプリのソースコードがダウンロードできる。

追加したり修正したい部分を開発する

$ cd (先ほどクローンしたアプリ)

で対象のアプリに移動する。

Herokuで開発している人への注意

ここでHeorkuで開発している人に注意して欲しい点がある。それはローカル環境だとPostgreSQLではrails sでうまく動作しないということだ。だからrails sで開発途中の状態を確認したいのなら
Gemfile内で

gem 'pg','~> 0.18', group: :production
gem 'sqlite3', group: [:development, :test]

上記のようにした後に

$ bundle install

を実行すればローカルでの開発がスムーズになる(ローカルと本番でデータベースを切り替えずに済む)。

修正したものを再デプロイ

修正が終わったらそれを再デプロイして同期させる。

同期させるためのコマンドを実行する

$ git add .
$ git commit -m "修正に関する説明"
$ git remote add heroku https://git.heroku.com/XXXXX.git
$ rake assets:precompile
(CSSやJavaScriptなどを変更した場合)
$ git push heroku master
$ heroku run rake db:migrate
(データベースを利用する場合)

このあと

(略)
、
、
、
remote: Verifying deploy.... done.
To https://git.heroku.com/XXXXX.git
、
、
 master -> master

のように表示されたら成功!

何か間違っているところがあったり、質問があれば遠慮なくコメントしてください!!