@@ -29,7 +29,8 @@ AWS_SECRET_ACCESS_KEY=$(eval "echo \$${ENV}_AWS_SECRET_ACCESS_KEY")
29
29
AWS_ACCOUNT_ID=$( eval " echo \$ ${ENV} _AWS_ACCOUNT_ID" )
30
30
AWS_REPOSITORY=$( eval " echo \$ ${ENV} _AWS_REPOSITORY" )
31
31
AWS_ECS_CLUSTER=$( eval " echo \$ ${ENV} _AWS_ECS_CLUSTER" )
32
- AWS_ECS_SERVICE=$( eval " echo \$ ${ENV} _AWS_ECS_SERVICE" )
32
+ AWS_ECS_SERVICE_API=$( eval " echo \$ ${ENV} _AWS_ECS_SERVICE" )
33
+ AWS_ECS_SERVICE_CONSUMERS=$( eval " echo \$ ${ENV} _AWS_ECS_SERVICE_CONSUMERS" )
33
34
34
35
KAFKA_CLIENT_CERT=$( eval " echo \$ ${ENV} _KAFKA_CLIENT_CERT" )
35
36
KAFKA_CLIENT_CERT_KEY=$( eval " echo \$ ${ENV} _KAFKA_CLIENT_CERT_KEY" )
@@ -98,9 +99,9 @@ deploy_cluster() {
98
99
99
100
# family="nginx-api-dev-task"
100
101
101
- make_task_def
102
- register_definition
103
- update_result=$( aws ecs update-service --cluster $AWS_ECS_CLUSTER --service $AWS_ECS_SERVICE --task-definition $revision )
102
+ make_task_def $1 $2 $3 $4
103
+ register_definition $1
104
+ update_result=$( aws ecs update-service --cluster $AWS_ECS_CLUSTER --service $1 --task-definition $revision )
104
105
# echo $update_result
105
106
result=$( echo $update_result | $JQ ' .service.taskDefinition' )
106
107
echo $result
@@ -119,8 +120,9 @@ make_task_def(){
119
120
"name": "%s",
120
121
"image": "%s.dkr.ecr.%s.amazonaws.com/%s:%s",
121
122
"essential": true,
122
- "memory": 1536,
123
- "cpu": 768,
123
+ "memory": 768,
124
+ "cpu": 512,
125
+ "entryPoint": ["%s", "%s", "%s"],
124
126
"environment": [
125
127
{
126
128
"name": "ENV",
@@ -261,11 +263,11 @@ make_task_def(){
261
263
}
262
264
]'
263
265
264
- task_def=$( printf " $task_template " $AWS_ECS_CONTAINER_NAME $AWS_ACCOUNT_ID $AWS_REGION $AWS_REPOSITORY $TAG $ENV " $KAFKA_CLIENT_CERT " " $KAFKA_CLIENT_CERT_KEY " $KAFKA_GROUP_ID $KAFKA_URL $DATABASE_URL $AUTHSECRET $TC_API_BASE_URL $TC_API_V3_BASE_URL $TC_API_V4_BASE_URL $TC_API_V5_BASE_URL $MESSAGE_API_BASE_URL $CONNECT_URL $ENABLE_EMAILS $MENTION_EMAIL $REPLY_EMAIL_PREFIX $REPLY_EMAIL_DOMAIN $REPLY_EMAIL_FROM $DEFAULT_REPLY_EMAIL $ENABLE_DEV_MODE $DEV_MODE_EMAIL $LOG_LEVEL $VALID_ISSUERS $PORT " $API_CONTEXT_PATH " " $AUTH0_URL " " $AUTH0_AUDIENCE " $AUTH0_CLIENT_ID " $AUTH0_CLIENT_SECRET " $TOKEN_CACHE_TIME $AWS_ECS_CLUSTER $AWS_REGION $AWS_ECS_CLUSTER $ENV )
266
+ task_def=$( printf " $task_template " $1 $AWS_ACCOUNT_ID $AWS_REGION $AWS_REPOSITORY $TAG $2 $3 $4 $ENV " $KAFKA_CLIENT_CERT " " $KAFKA_CLIENT_CERT_KEY " $KAFKA_GROUP_ID $KAFKA_URL $DATABASE_URL $AUTHSECRET $TC_API_BASE_URL $TC_API_V3_BASE_URL $TC_API_V4_BASE_URL $TC_API_V5_BASE_URL $MESSAGE_API_BASE_URL $CONNECT_URL $ENABLE_EMAILS $MENTION_EMAIL $REPLY_EMAIL_PREFIX $REPLY_EMAIL_DOMAIN $REPLY_EMAIL_FROM $DEFAULT_REPLY_EMAIL $ENABLE_DEV_MODE $DEV_MODE_EMAIL $LOG_LEVEL $VALID_ISSUERS $PORT " $API_CONTEXT_PATH " " $AUTH0_URL " " $AUTH0_AUDIENCE " $AUTH0_CLIENT_ID " $AUTH0_CLIENT_SECRET " $TOKEN_CACHE_TIME $AWS_ECS_CLUSTER $AWS_REGION $AWS_ECS_CLUSTER $ENV )
265
267
}
266
268
267
269
register_definition () {
268
- if revision=$( aws ecs register-task-definition --container-definitions " $task_def " --family $family | $JQ ' .taskDefinition.taskDefinitionArn' ) ; then
270
+ if revision=$( aws ecs register-task-definition --container-definitions " $task_def " --family $1 2> /dev/null | $JQ ' .taskDefinition.taskDefinitionArn' ) ; then
269
271
echo " Revision: $revision "
270
272
else
271
273
echo " Failed to register task definition"
@@ -277,13 +279,13 @@ register_definition() {
277
279
check_service_status () {
278
280
counter=0
279
281
sleep 60
280
- servicestatus=` aws ecs describe-services --service $AWS_ECS_SERVICE --cluster $AWS_ECS_CLUSTER | $JQ ' .services[].events[0].message' `
282
+ servicestatus=` aws ecs describe-services --service $1 --cluster $AWS_ECS_CLUSTER | $JQ ' .services[].events[0].message' `
281
283
while [[ $servicestatus != * " steady state" * ]]
282
284
do
283
285
echo " Current event message : $servicestatus "
284
286
echo " Waiting for 30 seconds to check the service status...."
285
287
sleep 30
286
- servicestatus=` aws ecs describe-services --service $AWS_ECS_SERVICE --cluster $AWS_ECS_CLUSTER | $JQ ' .services[].events[0].message' `
288
+ servicestatus=` aws ecs describe-services --service $1 --cluster $AWS_ECS_CLUSTER | $JQ ' .services[].events[0].message' `
287
289
counter=` expr $counter + 1`
288
290
if [[ $counter -gt $COUNTER_LIMIT ]] ; then
289
291
echo " Service does not reach steady state within 10 minutes. Please check"
@@ -295,5 +297,11 @@ check_service_status() {
295
297
296
298
configure_aws_cli
297
299
push_ecr_image
298
- deploy_cluster
299
- check_service_status
300
+
301
+ deploy_cluster $AWS_ECS_SERVICE_API " npm" " run" " startAPI"
302
+
303
+ deploy_cluster $AWS_ECS_SERVICE_CONSUMERS " npm" " run" " start"
304
+
305
+ check_service_status $AWS_ECS_SERVICE_API
306
+
307
+ check_service_status $AWS_ECS_SERVICE_CONSUMERS
0 commit comments