##やりたいこと
ローカルで初めのページだけ雑に作ったアプリをherokuにデプロイ、全世界に公開する
###対象
初心者、とりあえずrailsで作って公開(デプロイ)してみたい人
ーーーー
とりあえずネットに公開するまでの備忘録。
個人が作って公開するまでの過程ってこんなに簡単なんだという感動を共有したい。
ーーーー
###参考サイト
rails公式のチュートリアル
ここではgitbucketというサービスを使っていたところをGitHubに変更
https://railstutorial.jp/chapters/beginning?version=5.1
##使用ツール
・Macbook(High Sierra)
・GitHub Desktop(https://desktop.github.com)
GitHubの公式ツール
・atom
・ruby on rails
以下2つのアカウントは作成済
・heroku
・GitHub
#以下、手順
railsはインストール済みという体で進みます。
rails new cafe_app
(cafe_appの部分はアプリ名、何か好きな単語を入れてください)
初期表示の画面を作成
初期画面を作り、そこへのリンクを貼っておかないと、
本番環境では表示画面が見つかりませんというエラーになります。
class ApplicationController < ActionController::Base
def cafe
render html: "cafe_appへようこそ!"
end
end
Rails.application.routes.draw do
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
root 'application#cafe'
end
###gemfileをちょっといじる
herokuはsplite3に対応していないため、本番環境にsqliteをインストールしないように改修
# この2行を削除
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
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]
#ここ1行追加
gem 'sqlite3', '1.3.13'
end
# この3行を一番下に追加
group :production do
gem 'pg', '0.18.4'
end
ターミナルにてgemをインストール
bundle install --without production
bundle update
GitHub DesktopでGitHubにアップ
以下からダウンロードしてきてインストールしてください。
・GitHub Desktop(https://desktop.github.com)
GitHubへのアップロード
GitHub Desktopのツールバー 「File > Add Local Repositry > フォルダを選ぶ」でrails newで作成したフォルダを選択する
左下でコミットの名前を付ける
↓
青い「Commit to master」ボタンをクリック
↓
右上の「Publish Repository」ボタンをクリック
「Keep this code private」のチェックを外して青い「Publish Repositry」ボタンを押す(ここでブランチの名前が付けられます)
herokuへのデプロイ&自動デプロイ設定
herokuのサイトでnew appを作る
以下の画像の右上「Create new app」
GitHubと繋げる
作ったアプリの中に入って、deployタブを押す
↓
GitHubを選ぶ
↓
先ほどGitHubにアップロードしたブランチの名前で検索、選択する
GitHubからソースをデプロイする
Deployの画面を下にスクロールすると以下の画面が出てくる。
Manual Deployのところにある「Deploy Blanch」ボタンを押すと、ログがガーッと書かれてデプロイされる。
正常に完了すると「view」ボタンが出てくるので、それを押すと
デプロイされたアドレスに飛べる。
デプロイ自動化
「Enable Automatic Deploy」を押すとGitHubのmasterが更新された時に、
自動で更新をかけてくれる。
#まとめ
個人でも、簡単なWEBサービス、プロトタイプを作れる時代なんだと強く感じました。
現時点での疑問点
・自動でデプロイした時に、データベースとかはきちんと保存されるのかな?
・デプロイ失敗した場合は前のソースのままかな?
・herokuのデータベースの中身をエクセルみたいにみれるソフトないかな、というかherokuのデータベースはどうやってみるんだ。。。