Okaki030/terraform-fargate-templateでデプロイするサンプルアプリケーション。
CI/CDを動かすための設定を記述する。
GitHub Actions内で使用するActions secretsの設定を行う。
- AWS_ACCESS_KEY_ID: IAMユーザーのアクセスキー
- AWS_SECRET_ACCESS_KEY: IAMユーザーのシークレットアクセスキー
- AWS_ASSUME_ROLE_ARN: デプロイに必要な権限を持つAssume RoleのARN
自身の実行環境に合わせて、config.ymlのtfstateを保持するurlを編集する。
plugins:
- name: tfstate
config:
url: s3://okawa-tfstate/template/cicd/main.tfstate # 自身の環境に合わせる
自身の実行環境に合わせて、deploy.ymlのAWS_REGION
とSYSTEM_NAME
を編集する。
env:
AWS_REGION: ap-northeast-1 # 自身の環境に合わせる
SYSTEM_NAME: template # 自身の環境に合わせる
IMAGE_TAG: ${{ github.sha }}
mainブランチへのpushをトリガーとしてアプリケーションが自動デプロイされる。
サンプルアプリケーションをローカル環境で実行する手順を記述する。
$ docker-compose build
$ docker network create app
$ docker-compose up
サンプルアプリケーションを手動でデプロイする手順を記載する。
$ docker build -t template-app .
$ docker tag template-app:latest {ECRリポジトリ}:latest
$ docker push {ECRリポジトリ}:latest
$ SYSTEM_NAME=template IMAGE_TAG=latest AWS_REGION=ap-northeast-1 ecspresso deploy --config=config.yaml
$ SYSTEM_NAME=template IMAGE_TAG=latest AWS_REGION=ap-northeast-1 ecspresso create --config=config.yaml