フリーランスエンジニア備忘録 railsチュートリアル後にAWSとDockerとCircleCIを組み込むまでの学習順序と教材
勝又健太さんの動画を参考に、railsチュートリアルの次の教材を決める。
Herokuにデプロイではお話にならないので、AWSやDockerやCircleCIに手を出す。
AWS、Docker、CircleCIという順序で学ぶ。
[課題1]
RailsアプリケーションをHerokuにデプロイ
↓
①Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版
AWS環境上でEC2を使ってWordPressをホストするというハンズオン形式の内容になっている
VPCやEC2以外のサービスの使い方に関してはそれほど説明されていない。
↓
②ゼロからわかる Amazon Web Services超入門 はじめてのクラウド かんたんIT基礎講座
VPCやEC2以外のサービスについてこちらの書籍で触れていく。
データベース用のサービスであるRDS
画像とかファイルを配置するためのサービスであるS3
CDNサービスであるCloudFront
負荷分散のELB
DNSサービスであるRoute53
SSL証明書用のサービスであるACM
この書籍の内容までしっかり勉強すれば、独自ドメインを使ったWebサービスをAWSの基本的なサービスを組み合わせてホストすることは十分可能になる。
AWSをはじめようという書籍も似たような書籍だが、余裕があればざっと目を通すのも悪くない。
↓
③(下準備編)世界一丁寧なAWS解説。EC2を利用して、RailsアプリをAWSにあげるまで
こちらはQiitaの記事。RailsとAWSどう組み合わせるかについての記事になる。
↓
[課題2]
インフラをAWS化
↓
④入門 Docker
無料でオススメ
↓
⑤Docker/Kubernetes 実践コンテナ開発入門
こちらの書籍の3章までをざっと学習
Dockerだけでなく、docker-composeというツールに関しても学習できる。
ここまで来ればポートフォリオにDockerを組み込むことはそんなに難しいことではない。
4章以降はポートフォリオを作る段階では不要。
Rails本体用のコンテナとデータベース用のコンテナ(MySQLを使うかPostgreSQLを使うかは皆さん次第)
この2つのコンテナをDockerとdocker-composeを使ってローカル環境で起動できるようにするのがまず第一歩
余裕があれば実際のAWS環境の構成と同様にローカルのDocker環境で
Webサーバーにnginx、アプリケーションサーバーにpumaを使うような構成にバージョンアップできると直良し
学習リソースは、Docker nginx pumaなどで検索すればいろいろとヒットする
↓
[課題3]
開発環境にDockerを導入
↓
⑥CircleCIチュートリアル
↓
⑦いまさらだけどCircleCIに入門したので分かりやすくまとめてみた
↓
⑧CircleCI-Public/circleci-demo-ruby-rails
GitHubにソースをpushした時点で自動的に実行できるようになる
CD(自動デプロイ)にチャレンジする場合サンプル設定ファイルに記述されておらず
Railsアプリケーションのデプロイに関しては一般的にCapistranoというツールが使われている
Capistrano EC2とかCircleCI Capistranoで調べる
CircleCIとCapistranoを使ってEC2にアプリケーションを自動デプロイする方法を頑張って調べるとよい
CDに関しては結構難しいと思うので余裕があれば挑戦する
やる気の感じられないポートフォリオと差別化できる
↓
[課題4]
CircleCIを使用して
CI/CDパイプラインを構築
この記事が気に入ったらサポートをしてみませんか?