· 6 years ago · Oct 06, 2019, 06:22 AM
1#!make
2include .env
3export $(shell sed 's/=.*//' .env)
4
5
6start-local:
7 docker-compose -f docker-compose.local.yml up -d
8
9start-local-build:
10 docker-compose -f docker-compose.local.yml up -d --build
11
12start-dev:
13 docker-compose -f docker-compose.dev.yml up -d
14
15start-dev-build:
16 docker-compose -f docker-compose.dev.yml up -d --build
17
18
19
20dev-container: ecscli-setup make-container-dev push-image-dev
21dev-cluster: setup-cluster-dev create-cluster-dev
22dev-all-fg: ecscli-setup make-container-dev push-image-dev setup-cluster-fg-dev create-cluster-fg-dev service-up-dev
23dev-all-ec2: ecscli-setup make-container-dev push-image-dev setup-cluster-ec2-dev create-cluster-ec2-dev service-up-dev
24
25
26prod-container: ecscli-setup make-container-prod push-image-prod
27prod-cluster: setup-cluster-prod create-cluster-prod
28prod-all-fg: ecscli-setup make-container-prod push-image-prod setup-cluster-fg-prod create-cluster-fg-prod service-up-prod
29prod-all-ec2: ecscli-setup make-container-prod push-image-prod setup-cluster-ec2-prod create-cluster-ec2-prod service-up-prod
30
31
32ecscli-setup:
33 ecs-cli configure profile --access-key ${AWS_KEY} --secret-key ${AWS_SECRET} --profile-name ${APP_NAME}
34
35make-container-dev:
36 docker build -f Dockerfile.Dev --no-cache -t ${APP_NAME}-dev ./
37
38make-container-prod:
39 docker build -f Dockerfile.Prod --no-cache -t ${APP_NAME} ./
40
41push-image-dev:
42 ecs-cli push ${APP_NAME}-dev --ecs-profile ${APP_NAME} --region ${AWS_REGION}
43
44push-image-prod:
45 ecs-cli push ${APP_NAME} --ecs-profile ${APP_NAME} --region ${AWS_REGION}
46
47
48setup-cluster-fg-dev:
49 ecs-cli configure --cluster ${APP_NAME}-dev --default-launch-type FARGATE --region ${AWS_REGION} --config-name ${APP_NAME}-dev
50
51setup-cluster-fg-prod:
52 ecs-cli configure --cluster ${APP_NAME}-prod --default-launch-type FARGATE --region ${AWS_REGION} --config-name ${APP_NAME}-prod
53
54create-cluster-fg-dev:
55 ecs-cli up --cluster-config ${APP_NAME}-dev --vpc ${AWS_VPC} --subnets ${AWS_SUBNET1},${AWS_SUBNET2} --force --ecs-profile ${APP_NAME}
56
57create-cluster-fg-prod:
58 ecs-cli up --cluster-config ${APP_NAME}-prod --vpc ${AWS_VPC} --subnets ${AWS_SUBNET1},${AWS_SUBNET2} --force --ecs-profile ${APP_NAME}
59
60
61setup-cluster-ec2-dev:
62 ecs-cli configure --cluster ${APP_NAME}-dev --default-launch-type EC2 --region ${AWS_REGION} --config-name ${APP_NAME}-dev
63
64setup-cluster-ec2-prod:
65 ecs-cli configure --cluster ${APP_NAME}-prod --default-launch-type EC2 --region ${AWS_REGION} --config-name ${APP_NAME}-prod
66
67
68create-cluster-ec2-dev:
69 ecs-cli up --capability-iam --size ${SIZE} --keypair ${KEY_PAIR} --instance-type ${INSTANCE_TYPE} --cluster-config ${APP_NAME}-dev --vpc ${AWS_VPC} --subnets ${AWS_SUBNET1},${AWS_SUBNET2} --force --ecs-profile ${APP_NAME}
70
71create-cluster-ec2-prod:
72 ecs-cli up --capability-iam --size ${SIZE} --keypair ${KEY_PAIR} --instance-type ${INSTANCE_TYPE} --cluster-config ${APP_NAME}-prod --vpc ${AWS_VPC} --subnets ${AWS_SUBNET1},${AWS_SUBNET2} --force --ecs-profile ${APP_NAME}
73
74
75service-up-dev:
76 ecs-cli compose --file docker-compose.dev.yml --ecs-params ecs-params.dev.yml --project-name ${APP_NAME}-dev \
77 service up --create-log-groups --cluster-config ${APP_NAME}-dev --target-group-arn ${AWS_TARGET_GROUP_ARN} \
78 --timeout 30 --container-name api --container-port 80 --aws-profile default --force-deployment --cluster ${APP_NAME}-dev \
79 --region ${AWS_REGION} --vpc ${AWS_VPC}
80
81service-up-prod:
82 ecs-cli compose --file docker-compose.prod.yml --ecs-params ecs-params.prod.yml --project-name ${APP_NAME}-prod \
83 service up --create-log-groups --cluster-config ${APP_NAME}-prod --target-group-arn ${AWS_TARGET_GROUP_ARN} \
84 --timeout 30 --container-name api --container-port 80 --aws-profile default --force-deployment --cluster ${APP_NAME} \
85 --region ${AWS_REGION} --vpc ${AWS_VPC}