こんな方向け
・ Cloud9でアプリのデプロイのやり方を知りたい
・ データベースの作成までのやり方を知りたい
大まかな手順
- データの反映
- Rubyのバージョン確認
- MySQLのインストール
- MySQLのパスワードの修正
- database.ymlのファイルの修正
- データベース(DB)の作成
- Railsアプリを起動
1. データの反映
・git cloneでアプリ格納場所のリポジトリをローカルに落とす
$ git clone <HTTPSのURL>
2. Rubyのバージョン確認
・Railsのバージョン確認
$ ruby -v
3. MySQLのインストール
sudo yum -y update
# mariadbを削除
sudo yum remove -y mysql-server
sudo yum remove -y mariadb*
# インストール
# Amazon Linux2
MYSQL_PACKAGE_URL="https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm"
sudo yum localinstall -y $MYSQL_PACKAGE_URL
sudo yum install -y mysql-community-devel
sudo yum install -y mysql-community-server
・ MySQLサーバーの起動&確認
sudo service mysqld start && sudo service mysqld status
・ 初期パスワードの確認
sudo cat /var/log/mysqld.log | grep "temporary password" | awk '{print $13}'
# ↑で出てこない場合に入力
sudo cat /var/log/mysqld.log | grep "temporary password"
# MySQLにログイン(パスワードが表示されるので、必ずコピーしておく)
mysql -u root -p
4.Mysqlのパスワードの修正
・パスワードの修正は下記の記事を参考にしてください
5. database.ymlのファイルの修正(usernameやパスワードの追加)
開発環境のコードを修正する必要があるので、修正
→これをやらないと、エラー沼にハマるので注意
# database.ymlのファイル内を修正
adapter: mysql2
encoding: utf8
database: ~~~~~~(デフォルト名)
pool: 5
username: root(今回は開発環境なのでroot)
password: MySQLインストール後に変更したパスワード(これないとデプロイできない)
host: localhost
上書き保存をする
注意:Railsには、「開発」「テスト」「本番」の3つの環境があり、今回のデプロイは「開発環境」でのデプロイを想定
6. データベース(DB)の作成
MySQLのインストールと、database.ymlの編集が終わったらいよいよデータベースの作成に入る
下記コマンドでconfig/database.ymlの設定内容にをもとにデータベースが作成される
$ rails db:create
余談だが、本番環境のデータベースを作成したい場合は
$ rake db:create RAILS_ENV=production
migrationファイルの内容をDBに反映する
→メリットは、SQL構文を書かずともDBにアクセスしてデータをいじれることらしい
→まだよくわかってないが、下記記事を参照
$ rails db:migrate
7. Rails アプリを起動
アプリをデプロイします。
・rails s
デプロイがプレビューでアプリを見てましょう!
・preview→preview Running Applicatonで起動
・起動が遅い、できない場合は下記のコマンドで不要なコンテナを削除してみてください
$ docker system prune -a