前のパートに戻る 完了して次のパートへ  

  0-1 Laravel × CircleCI × AWSで学ぶCI/CD

CI/CDパイプラインの構築方法を学ぶ


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

● CI(継続的インテグレーション)

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

● CD(継続的デリバリー)

  • メインラインのソースコードが変更されるたびに、自動で本番環境などにデプロイする仕組み

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

CI/CDパイプラインをあらかじめ構築しておくことで、バグの発生を抑えつつ、アプリケーションの機能追加などを1日に何回も本番環境にリリースすることが可能となります。

本教材では、LaravelのサンプルアプリケーションをCIツールであるCircleCIで自動テストし、AWSに自動デプロイする仕組みの構築方法を学びます。

学習内容


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

● 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のコマンドの初歩的な知識(lscdpwdmkdircatを使ったことがある)

学ばないこと


  • 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

本教材の対象OS


  • Mac OS

本教材の対応バージョン


  • CircleCI 2.1
  • Laravel 6.8
  • Vue.js 2.6.11

目次


本教材では以下の流れで自動テスト・自動デプロイを学んでいきます。

0章 はじめに

ローカルの開発環境で、本教材のサンプルアプリケーションが動くようにします。

1章 CircleCIでHello Worldを表示しよう

CircleCIをGitHubと連携させ、Hello Worldを表示します。

2章 Laravelでテストを書こう

サンプルアプリケーションの一部の機能について、テストコードを書き、ローカルの開発環境で実行します。

3章 CircleCIでテストを実行しよう

2章で作成したLaravelのテストを、CircleCIを使って実行します。

4章 AWS(EC2)でLaravelを動かそう

サンプルアプリケーションのデプロイ先となるサーバーをAWS上に構築します。

5章 CircleCIだけで自動デプロイしよう

CircleCIからEC2にSSHログインして、サンプルアプリケーションをデプロイします。

6章 CodeDeployも使って自動デプロイしよう

CircleCI, CodeDeployを組み合わせて、EC2にサンプルアプリケーションをデプロイします。

7章 Code4兄弟を活用して自動デプロイしよう

CircleCI, CodeCommit, CodeBuild, CodeDeploy, CodePipelineを組み合わせて、EC2にサンプルアプリケーションをデプロイします。

議論

0 質問

このコースの評価は?