見出し画像

フリーランスエンジニア備忘録 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パイプラインを構築


この記事が気に入ったらサポートをしてみませんか?