カテゴリー
サインイン 新規登録
学習時間 20時間
難易度 中級
質問投稿
価格 ¥2,980
月額 ¥2,980
Unlimited会員はこちらの教材を含む100種類以上のUnlimited対象教材が学び放題

Laravel × CircleCI × AWSで学ぶCI/CD

CircleCIで自動テストを行い、AWS(EC2)に自動デプロイする仕組み(3種類)を構築!CircleCIやAWS CodeDeploy/Build/Pipelineなどの使い方のほか、Laravelでのテスト、Laravel x Vue.jsアプリケーションのEC2環境構築方法を学ぶ。

5
最終更新 2022/6
やんばる

Laravel × CircleCI × AWS で CI/CDパイプラインの構築方法を学ぶ

本教材では、LaravelのサンプルアプリケーションをCIツールであるCircleCIで自動テストし、AWSに自動デプロイする仕組みの構築方法を学びます。
CI/CDパイプラインをあらかじめ構築しておくことで、バグの発生を抑えつつ、アプリケーションの機能追加などを1日に何回も本番環境にリリースすることが可能となります。

本教材のタイトルに含まれるCI/CDは、以下のような仕組みのこととなります。

  • CI(継続的インテグレーション)
    • 変更されたソースコードがGitHubなどのリポジトリに提出(プッシュ)されるたびに自動でテストを行うことで、変更後のソースコードをリポジトリのメインライン(masterブランチなど)に統合(gitで言うところのマージ)可能な状態にする仕組み
  • CD(継続的デリバリー)
    • メインラインのソースコードが変更されるたびに、自動で本番環境などにデプロイする仕組み

このような仕組みを組み合わせた一連の流れをCI/CDパイプラインと呼びます。

学習内容

本教材を通じて、以下について学ぶことができます。

  • GitHubとCircleCIの連携方法
  • Laravelでのごく簡単なテストの書き方
  • CircleCIでの自動テストの実行方法
  • Laravel + Vue.jsのアプリケーションをEC2 + nginx + RDS(PostgreSQL)の環境で動かす方法
  • CircleCIからAWS(EC2)にLaravel + Vue.jsアプリケーションをデプロイする方法3種類
  • CircleCIからAWSのEC2にSSHログインしてデプロイ
  • CircleCI + CodeDeployを使ってEC2にデプロイ
  • CircleCI + CodeCommit + CodeBuild + CodeDeploy + CodePipelineを使ってEC2にデプロイ

また、周辺知識として以下も解説していきます。

  • YAMLの書き方
  • Bashスクリプトの書き方
  • Linuxで新規ユーザーを作り、SSHログイン可能とする方法

本教材の対象者

  • 自動テスト、自動デプロイ、CI/CDといった言葉に関心があり、その構築方法を効率的に学びたい方
  • CircleCIの基礎的な使い方を学びたい方
  • AWS(EC2)への自動デプロイ方法を学びたい方

受講における必要条件

本教材は中級者向けとなっています。以下の条件を満たすかどうか事前に確認して受講してください。

  • AWSアカウントを持っており、AWSを触ったことがあること
  • AWSのマネジメントコンソールにログイン可能な、管理者権限(AdministratorAccess)を持ったIAMユーザーを用意できること
  • Gitの初歩的な知識(ブランチを作る、コミットする、などが行える)
  • GitHubの初歩的な知識(アカウントを持っていて自分のリポジトリを作ったことがある、プルリクエストを立てることができる)
  • Laravelの初歩的な知識(モデルからデータを取得して画面に表示する程度のアプリケーションを作ったことがある)
  • Linuxのコマンドの初歩的な知識(ls, cd, pwd, mkdir, catを使ったことがある)

AWSの利用料金について

本教材で利用するAWSリソースについては、一部従量制料金の対象のものがあります。
EC2やRDSなどは無料利用枠が設定されたスペックのものを使用するなど、教材全体で極力料金を抑えるようにしていますが、利用状況次第では費用が発生する可能性があります。
あらかじめご了承ください。

学ばないこと

  • LaravelやVue.jsそのものの知識
  • Laravelでの様々なテストの書き方(教材では、ごく一部の機能のみテストします)
  • Vue.jsのテストの書き方(教材では、Vue.jsのテストは行いません)

その他、本教材では、テーマであるCI/CDを集中して学べるよう、一部のAWSのリソースはテンプレートファイル(CloudFormation)を使って自動で作成します。

具体的には以下のAWSリソースとなります。

  • VPC、サブネット、サブネットグループ、ルートテーブル、インターネットゲートウェイ、セキュリティグループ、EC2

そのため、これらのAWSリソースに関しては、AWSの入門書などでよく登場するような、AWSのマネジメントコンソール(管理画面)でひとつひとつ作成する方法を説明していません。ご注意ください。

なお、以下のAWSリソースについてはAWSのマネジメントコンソールで作成していきます。

  • RDS, S3, IAM, CodeCommit, CodeBuild, CodeDeploy, CodePipeline

本教材の対応バージョン

  • CircleCI 2.1
  • Laravel 6系
  • Vue.js 2.6.11

本教材で質問対応可能なOSや環境

  • Mac OS(注)

注: ただし、2020年11月発売のM1チップ搭載Macでは教材を進められない可能性があるのでご注意ください

回答可能な質問内容とそうでない質問内容

教材を進める中で生じたエラーに関する質問や、教材本文の説明内容がわかりにくい場合に再説明を求める質問に関しては回答可能です。

教材で取り扱っているWeb技術に対する広く一般的な質問は回答対象外としていますのでご了承ください。そうした質問はメンターサービスなどをご利用ください。

また、教材のアプリを参考にして作った、独自の実装部分が含まれるアプリのエラーや不具合に関する質問も回答対象外としております。

カリキュラム

Section 0 はじめに
Section 1 CircleCIでHello Worldを表示しよう
Section 2 Laravelでテストを書こう
  • 2-1 本章の流れ
  • 2-2 開発ブランチとデータベースに関する解説
  • 2-3 記事一覧画面表示機能の把握
  • 2-4 記事一覧画面表示機能のテスト
  • 2-5 記事投稿画面表示機能の把握
  • 2-6 ログイン前後での記事投稿画面表示のテスト
  • 2-7 いいねされているかを判定するメソッドの把握
  • 2-8 いいねされているかを判定するメソッドのテストとファクトリの作成
  • 2-9 いいねされているかを判定するメソッドのテストの続き

講師のプロフィール

教材のレビュー

5.0
21件の評価
95%
4%
0%
0%
0%
ニャケメ 1年以上前
今回も「Laravel(+Vue.js)でSNS風WEBサービスを作ろう!」に続いて何とか完走させて頂きました。 前回に続いて、内容としては申し分なく、とても丁寧に説明が記述されているため疑問点などを調べる事がほどんど無かったです。 この教材に出会えて良かったと思っています。 今後のLaravel開発に活かせるように頑張りたいと思います。 ありがとうございました! もっと見る
takahiro 1年以上前
Laravel,AWS,circleci初学者です。教材通りに一通り行いました(Windows環境ですが) 内容的には、難しく一通り行っただけでは理解できませんでしたが、操作面では、丁寧な操作説明がされていて、その通りに行えば一通り教材は終えられると思います。 何回か繰り返し内容を理解する事ができれば、環境面でかなりの知識がつくとおもいました。あわせて、チーム開発を行う上でのgitの操作感も勉 もっと見る
高坂匠 1年以上前
めちゃくちゃ良教材です。