はじめに
AWS開発者なら誰もが知っていると思われる、デプロイオートメーション。コードの解析からビルドまで、最新の状態を毎回の変更に合わせて適用できるよう、フレームワークなどで提供されています。今回は、そんなデプロイオートメーションについて見ていきましょう。
デプロイオートメーションの特徴
まず、複数のAWSインスタンス間でデプロイオートメーションを行う場合、サーバごとに設定を追加する必要はありません。AWSでは、複数のサーバと同じ状態を保つことができ、単一のコンテナでアプリケーションを取り扱えるようになります。
正しく設定ができれば、AWSのインフラストラクチャはAzureやGCPなどと比べでも同等を誇ることができます。
デプロイオートメーションの種類
デプロイオートメーションの種類を見ていくと、ツールやサービスによって様々なものがあります。リリース速度を上げるための機能を持つCapistranoや、コンテナのイメージを作成するためのDockerなどがあります。
以下は、あるサービスをデプロイするためのサンプルコードを示します。
---
# 最新のコードを取得
git pull
# 変数を設定
APP_NAME="my-app"
APP_VERSION="1.0.0"
# コンテナイメージのビルド
docker build --tag ${APP_NAME}:${APP_VERSION} .
# コンテナイメージをデプロイ
docker run -p 80:80 --name ${APP_NAME} ${APP_NAME}:${APP_VERSION}
まとめ
今回は、デプロイオートメーションについてご紹介しました。ツールやサービスの設定を整えて、AWSのインフラストラクチャをAzureやGCPなどと同レベルにできることを見てきました。また、デプロイのサンプルコードもご紹介しました。デプロイオートメーションを使えば、すっきりとしたコードを効果的に管理することができます。