121: updated the makefile to be able to publish production-web stack. (#122)

This commit is contained in:
Arwid Thornström
2022-10-24 10:27:04 +02:00
committed by GitHub
parent e9ecbb4c14
commit ec6f2b73de
+15 -3
View File
@@ -2,8 +2,9 @@
# Example:
# make create-stack STACK_ENVIRONMENT_NAME=staging
# make create-stack STACK_ENVIRONMENT_NAME=production
# make create-stack STACK_ENVIRONMENT_NAME=production-web
#
# # make update-stack STACK_ENVIRONMENT_NAME=staging
# make update-stack STACK_ENVIRONMENT_NAME=staging
##
STACK_NAME=graphql
@@ -20,13 +21,22 @@ CERTIFICATE_ARN='arn:aws:acm:eu-west-1:954747537408:certificate/1278df32-006d-48
DB_SECURITY_GROUP_ID_PRODUCTION=sg-0b5bafc1e0a97e848
DB_SECURITY_GROUP_ID_STAGING=sg-001b3667edf19e1ce
checkdef = $(if $(value $(1)),,$(error $(1) not set))
DOCKER_IMAGE=$(AWS_ACCOUNT_ID).dkr.ecr.$(AWS_REGION).amazonaws.com/$(STACK_NAME)-$(STACK_ENVIRONMENT_NAME)
ifeq ($(STACK_ENVIRONMENT_NAME),production)
SUBDOMAIN=$(STACK_NAME)
ENVIRONMENT_NAME=production
GITHUB_BRANCH=master
DB_SECURITY_GROUP_ID=$(DB_SECURITY_GROUP_ID_PRODUCTION)
CPU_SIZE=1024
MEMORY_SIZE=2GB
IMAGES_BUCKET=photowall-images
UPLOAD_BUCKET=photowall-inquiries
else ifeq ($(STACK_ENVIRONMENT_NAME),production-web)
SUBDOMAIN=data
ENVIRONMENT_NAME=production
GITHUB_BRANCH=master
DB_SECURITY_GROUP_ID=$(DB_SECURITY_GROUP_ID_PRODUCTION)
CPU_SIZE=1024
@@ -35,6 +45,7 @@ ifeq ($(STACK_ENVIRONMENT_NAME),production)
UPLOAD_BUCKET=photowall-inquiries
else
SUBDOMAIN=$(STACK_NAME)-$(STACK_ENVIRONMENT_NAME)
ENVIRONMENT_NAME=$(STACK_ENVIRONMENT_NAME)
GITHUB_BRANCH=$(STACK_ENVIRONMENT_NAME)
DB_SECURITY_GROUP_ID=$(DB_SECURITY_GROUP_ID_STAGING)
CPU_SIZE=512
@@ -69,6 +80,7 @@ set-repository-lifecycle-policy:
check-create-variables-set:
$(call checkdef,STACK_NAME)
$(call checkdef,STACK_ENVIRONMENT_NAME)
$(call checkdef,ENVIRONMENT_NAME)
$(call checkdef,GITHUB_TOKEN)
$(call checkdef,GITHUB_USER)
$(call checkdef,GITHUB_REPO)
@@ -93,7 +105,7 @@ create-stack: check-create-variables-set check-create-initial-ecr-image
aws cloudformation create-stack --stack-name $(STACK_NAME)-$(STACK_ENVIRONMENT_NAME) --template-body file://ecs-service.yaml \
--capabilities CAPABILITY_NAMED_IAM \
--tags Key=EnvironmentName,Value=$(STACK_ENVIRONMENT_NAME) \
--parameters ParameterKey="EnvironmentName",ParameterValue="$(STACK_ENVIRONMENT_NAME)" \
--parameters ParameterKey="EnvironmentName",ParameterValue="$(ENVIRONMENT_NAME)" \
ParameterKey="Image",ParameterValue="$(DOCKER_IMAGE)" \
ParameterKey="Subdomain",ParameterValue="$(SUBDOMAIN)" \
ParameterKey="Certificate",ParameterValue="$(CERTIFICATE_ARN)" \