#01.はじめに
Ruby on Railsを学ぶ中で、作成したWebアプリケーションを公開する方法が知りたくなった。
今回の記事はCloud9にRuby on Railsの環境構築する手順を残す。
また、ついでにgithubとの連携もする。
最終的にはCloud9で開発したアプリをEC2にデプロイをするためにはどうすればいいのかを学んでいく。
#02.Cloud9の環境構築
cloud9でruby on railsを使ったWEBアプリ開発を進められるように、環境設定をする。
##cloud9の立ち上げ
AWSのコンソールにログインし、cloud9サービスを開く。
Create enviromentをクリックして、1つ環境を用意する。
##ソフトウェアの導入
cloud9のSSHターミナル画面にコマンドを入力していく。
- rubyのバージョン切替ソフトウェア:RVM(rvm 1.29.8)
- ruby:2.5.1 ※バージョンはシビア
- gem:3.0.8
- rails:5.2.1 ※バージョンはシビア
###Rubyのインストール
sudo yum update
こちらでrvmのバージョンを確認
rvm -v
2.5.1がなければ以下で、rubyをインストール
rvm install 2.5.1
インストールされているか確認
rvm list
2.5.1をデフォルトで利用する設定
rvm --default use 2.5.1
再度、rubyのステータスを確認
rvm list
rubyのバージョンを確認する
ruby -v
###railsのインストール
下記のコマンドでrailsがインストールされていないことを確認
rails -v
gemがインストールされているか確認。バージョンは3.0.8だった。
gem -v
gemでrailsをインストールする。(ドキュメントをインストールしない)
gem install rails -v 5.2.1 -N
インストールされたか確認
rails -v
#03.新規プロジェクトの作成
今回はミニQ&Aのサイトを作ってみるが、実際のコード内容は省略する。
プロジェクト名はqandaとする。
###プロジェクト作成
rails _5.2.1_ new qanda
必要なファイルが作成されているかを確認
ls
cd qanda/
ls
###gemのsqlite3を明示的に指定
1.qandaプロジェクトフォルダ直下のGemfileを開く
2.gem 'sqlite3'の行に対して、変更を加える
変更前:gem 'sqlite3'
変更後:gem 'sqlite3', '~> 1.3.6'
3.qandaプロジェクトフォルダに移動した状態で、gemをアップデートする。
bundle update
4.データベースの作成をする。
rails db:create
###起動を確認
qandaプロジェクトフォルダに移動した状態で、コマンドを実施
rails s
preview Runnning Applicationでrailsの起動画面を確認
ここからゴリゴリとアプリを作っていきます!!
#04.githubとの連携
作ったアプリをgithubにpushするまでの手順を記載する。
##githubの登録
githubでアカウント登録を実施する。今回は既にあるアカウントを利用する。
https://github.co.jp/
##cloud9とgitの連携
###ローカルリポジトリを作る
cloud9には既にgitがインストールされているので、それを使っていく。
まずは、バージョンを確認する。git version 2.23.3と確認できた。
git --version
名前やアドレスを登録していく。またエディタはvimとする。
git config --global user.name "<名前>"
git config --global user.email "<メールアドレス>"
git config --global core.editor vim
上記の設定を確認する。
git config --list
もしくは
cat ~/.gitconfig
ローカルリポジトリを作成する。なお、実施するディレクトリはqandaプロジェクトフォルダとする。
git init
作成されたローカルリポジトリを確認。objectsとconfigが大事です。
ls .git/
今つくったファイルを全てコミットしていく
git add -A
git commit -m "fitst commit"
###リモートリポジトリを作成する
githubのダッシュボードで、リポジトリを作成する。
リポジトリ名は「qanda」とする。
###cloud9のSSH認証用の公開鍵をgithubに登録する。
cloud9のターミナルでコマンドを入力していく。
最後のlsコマンドで、id_rsa.pubが作成されていることを確認。
cd ~/.ssh
ssh-keygen
※上記のコマンドで、パスワード入力を求められるが全てenterで通す。
ls -ltr
公開鍵の中身を表示して、全てコピーする。(ssh-rsaも含める)
cat ~/.ssh/id_rsa.pub
githubの「Setting」から「SSH and GPG keys」を選んで、公開鍵情報を登録する。
###githubにpushする
pushするときに毎回、git@〜を入力するのがめんどくさいので、
先ほど作ったリモートリポジトリをoriginとして登録しておく。
なお、ディレクトリはqandaプロジェクトファイルにいる。
git remote add origin git@github.com:<名前>/<リポジトリ>
orginにpushしていく。
git push origin master
githubのリポジトリを確認すると、qandaプロジェクトのファイルが無事pushされていることが確認できる。
#05.最後に
とりあえずこれで、初期設定が完了した。
アプリの作成を実際にしたのちに、EC2へのデプロイをしていく。
あとこれらの設定が、cloudformationでうまく自動化できないかな・・・