0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Railsチュートリアルのセットアップ関連だけ要約

Last updated at Posted at 2020-05-25

Railsチュートリアルをようやく一周しました。
次の段階として、Railsチュートリアルを参考にしながらオリジナルのWebサービスを作ってみるために、セットアップ関連だけまとめています。
開発環境はCloud9です。

Rails環境の構築

便利コマンド

普段からドキュメントをインストールしないように指定するコマンド(らしい)。
参考にさせていただきました。
Railsチュートリアル第1章の「$ printf "install: --no-document \nupdate: --no-document\n" >> ~/.gemrc」を分解

$ printf "install: --no-document \nupdate:  --no-document\n" >> ~/.gemrc

Railsインストール

今回、バージョンはチュートリアルのままとしたが、いずれバージョンアップもやっておかないと。。。

$ gem install rails -v 5.1.6

rails newの実行

$ rails _5.1.6_ new "タイトル"

GitHub環境の構築

gitの生成

$ cd ~/envronment/"タイトル"
$ git init
$ git add -A
$ git commit -m "Initialize repository" # コメントは定番のもの

リポジトリの作成(GitHub)

GitHub上で 'New repository'してリポジトリを作成後、以下コマンドを実行(URLはリポジトリ作成画面に記載)

$ git remote add origin "URL"
$ git push -u origin master

# uオプションをつけて、origin masterを上流ブランチとして設定
# 次回以降、git pushのみでorigin masterへのpushが可能

リポジトリを非公開としたい場合は、Settingの一番下'Danger Zone'内にあるMake privateをクリック

SSH 公開鍵の設定(GitHub)

$ cd ~/.ssh          # 鍵を入れるフォルダに移動
$ ssh-keygen -t rsa  # 鍵を生成
$ cat id_rsa.pub     # 鍵の中身を表示して手動でコピー

# cloud9ではpbcopyが使用できなかったので、手動でコピーしています。

https://github.com/settings/ssh で公開鍵を設定
以下コマンドで接続を確認し、以下コメントが出れば接続完了。

$ ssh -T git@github.com

Hi (account名)! You've successfully authenticated, but GitHub does not provide shell access.

参考にさせていただきました。
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~

警告がでた場合の対処方法

以下のような警告が出る場合があります(僕は出ました)。
Warning: Permanently added the RSA host key for IP address 'xxx.xxx.xxx.x' to the list of known hosts.

pushができなくなるわけではないので問題はなさそうですが、Worningがでているのは気持ち悪い。。。
以下コマンドでknown_hostsの内容が更新されてWorningがでなくなります。

$ ssh-keygen -R "IPアドレス"

# 上記で直らない場合は、以下コマンドも試してみてください

$ ssh-keygen -R github.com
push時に毎回パスワードを聞かれないための方法
  1. GitHubのCode画面の右側"Clone or download"ボタンをクリック
  2. 右上の"Use SSH"をクリックし、表示されたURLをコピー
  3. ターミナルから以下コマンドを実行
$ git remote set-url origin "URL"

# 確認のため以下を実行
$ git remote -v

# 以下のように、git@github.comから始まっていれば成功!
origin  git@github.com:reiji012-pg/Tabetter.git (fetch)
origin  git@github.com:reiji012-pg/Tabetter.git (push)

Herokuのセットアップ

ここもひとまずチュートリアルのままで。
本番環境のみにPostgreSQLのgemをインストール

Gemfile.
group :production do
  gem 'pg', '0.20.0'
end

開発環境とテスト環境にSQLiteのgemをインストール

Gemfile.
group :development, :test do
  gem 'sqlite3', '1.3.13'
  gem 'byebug',  '9.0.6', platform: :mri
end

pg gemを本番環境にインストールしないようにオプションを追加してインストール

$ bundle install --without production

Herokuをインストール

$ source <(curl -sL https://cdn.learnenough.com/heroku_install)

インストールを確認後、ログインからデプロイまで。

$ heroku --version
$ heroku login --interactive
$ heroku keys:add
$ heroku create
$ git push heroku master

以下コマンドでアプリケーションの名称を変更可能

$ heroku rename "アプリケーション名"

Herokuコマンドが使えなくなっている問題

ターミナルを起動する度にHerokuの設定が消えてしまう
herokuへのパスを書いたファイルを、ターミナルの起動毎に実行するように設定することで解消可能
以下いずれも、viコマンドでファイル内の一番下に挿入する

~/.bashrc
PATH=/usr/local/heroku/bin:$PATH
~/.bash_profile
source ~/.bashrc

本番環境でのSSL設定

以下ファイルを修正(コメントアウトしているので、コメントを解除するだけ)

config/environments/production.rb
config.force_ssl = true

HerokuのWebサーバを、デフォルトのWEBrickからPumaに置き換える
(著しいトラフィックを扱うことができず、本番環境に適していないため)

こちらもコメントアウトしているものを解除するだけ

config/puma.rb
on_worker_boot do
  ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
end

こちらはファイルを新規作成(./Procfile)

web: bundle exec puma -C config/puma.rb

とりあえずこれでアプリケーションの作成に入っていける環境が構築できたかと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?