LoginSignup
0
0

More than 1 year has passed since last update.

Cloud9でRailsアプリをデプロイする手順(開発環境)

Last updated at Posted at 2022-09-22

こんな方向け

・ Cloud9でアプリのデプロイのやり方を知りたい
・ データベースの作成までのやり方を知りたい

大まかな手順

  1. データの反映
  2. Rubyのバージョン確認
  3. MySQLのインストール
  4. MySQLのパスワードの修正
  5. database.ymlのファイルの修正
  6. データベース(DB)の作成
  7. 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
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