何度やっても抜けが出て何かしらのエラーが出てしまうので、
備忘録のために何をするべきなのかとにかく項目を列挙。わからなかったら項目で調べようの精神です。
足りないものは追記していきます。ご指摘あれば是非下さい!
対象:個人的ポートフォリオレベルのアプリケーション
大まかな流れ
- インスタンス作成
- 環境構築(インスタンスの中身を設定)
- アプリケーションサーバ設定・アプリケーションサーバのみで起動確認
- webサーバ設定
- 自動デプロイ(必要であれば)
インスタンス作成
- ログイン
- リージョン選択(2敗)
- インスタンス作成
- Elastic IP取得、関連付け
- ポート解放(1敗 http用)
環境構築
- ssh接続
-
user作成
- user権限設定
- Node.js導入
- バージョン確認
- gitの導入(入っていなければ)
-
rbenv導入
- パス設定
- ruby-build導入
- rehash(1敗)
- ruby導入
- バージョン確認
-
またはRVM導入
- バージョン確認
- ruby導入
- バージョン確認
-
database導入
- パスワード設定と
- 接続確認
アプリケーションサーバの設定
-
Githubにssh接続
- sshキー作成
- githubで公開キーを登録
- 接続確認
- unicorn 又は pumaの設定
- database.ymlの設定(1敗)
- アプリケーション導入先ディレクトリの作成(1敗)
- git clone
- (今後の変更はgit pull)
- スワップ領域の作成(設定がなければ、2敗)
- bundler を gem install(要:バージョン確認)
- 環境変数設定(credential導入していればマスターキー作成)
- ポート解放(rails用 1敗)
- db作成、migration実施
- assets precompile 実施
-
起動確認(テスト用)
- 初期起動のみ頭にRAILS_SERVE_STATIC_FILES=1を付ける
webサーバの設定
- Nginx/apacheなど導入
- サーバ設定
- 外部アクセス用に権限変更
- 再起動(1敗)
- unicorn/pumaのNginx設定
- unicorn/pumaの再起動(読み込みのため)
自動デプロイ化
- capstranoなどツール導入
- 又はシェルスクリプトなどで自己流自動化
これらは全てキーワードの箇条書きです。1つ1つにやることが複数あったりします。
手間ですよね。。。この前段階の開発の際の環境構築だって手間です。
IT業界なので当然、作業は自動化してしまうものです。
私と同じ初学者の方はCI/CDやDockerについて調べましょう。