Laravel + CircleCI + AWSでCI/CDを学ぶチュートリアルを公開しました

ci/cd

はじめに

Laravel + Vue.jsのサンプルアプリケーションをCircleCIを使ってAWS(EC2)にデプロイする、CI/CDパイプライン構築を学ぶチュートリアルをTechpitで公開しました。

このチュートリアルはどんな人に向いているか

以下のようなプログラミング学習者をターゲットとしています。

  • Herokuにデプロイはできるけれど、AWSへのデプロイはまだという方
  • AWSへ手動でデプロイはできるけれど、自動デプロイさせる方法がわからないという方

既にエンジニアとして実務に付いている方でも「職場にCI/CD環境はあって利用はしているけれど自分自身でゼロから構築したことは無い」という方であれば、効率的に学べる内容になっているのではと思います。

このチュートリアルを終えることで身に付く知識

チュートリアルでは以下について段階的に学べる構成となっています。

  • CircleCIの基本的な使い方(そもそもの構文やキャッシュの使い方など)

  • Laravelでのテストの書き方の初歩的な知識

  • EC2 + RDSでLaravel + Vue.jsアプリケーションを動かすための環境構築方法(nginx, PHP-FPMの設定方法など)

  • CircleCIからEC2にSSHログインしてデプロイさせるための方法(SSHキーの取り扱いなど)

  • AWSのデプロイサービスであるCodeDeployを使ったデプロイ方法とその結果をSlack通知する方法

  • AWSのCI/CD関連サービスであるCodePipeline/CodeBuild/CodeDeployを組み合わせてデプロイする方法

書いた人

昨年の9月からSREチームに配属になって色々なタスクを経験したのですが、その中で「とあるレガシーなアプリケーションをEC2に自動デプロイさせるためのCI/CDパイプラインを構築する」というものがありました。

職場の主要なアプリケーションはCI/CDが整備されていますが、そのレガシーアプリケーションは未だに手動デプロイだったのです。

そこでCircleCIやCodeDeployなどに触れ、得られた知識を元に今回のチュートリアルを書きました。

終わりに

4月の頭から執筆を始め、時々Twitterで途中経過報告をしたのですが結構反響が大きかったです。

AWSやクラスメソッドの方にいいね・リツイートされたり・・・。

だからといって、その方々がこのチュートリアルをオススメしているわけでは決してありませんが(当然中身は知らないわけだし)、執筆と終わりの見えないスクショ作業を続ける上で大変励みになりました。

CI/CDの構築方法を学びたい、という方はぜひ手に取ってもらえればと思います。

全7章構成ですが、0章から1章の途中ぐらいまでは無料で公開されています。気に入った方はその続きもぜひ。