From 02dbd06348e3317becd4462fb5d136802dbda6b3 Mon Sep 17 00:00:00 2001 From: Jindrich Skupa Date: Thu, 30 Sep 2021 07:23:12 +0200 Subject: [PATCH] Change whole image url, dont care about last value --- ecs-deploy | 66 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 24 deletions(-) diff --git a/ecs-deploy b/ecs-deploy index 31117d8..b31ca4a 100755 --- a/ecs-deploy +++ b/ecs-deploy @@ -28,6 +28,7 @@ RUN_TASK_NETWORK_CONFIGURATION=false RUN_TASK_WAIT_FOR_SUCCESS=false TASK_DEFINITION_TAGS=false COPY_TASK_DEFINITION_TAGS=false +DRY_RUN=false function usage() { cat < 0 - SERVICE_DESIREDCOUNT=`$AWS_ECS describe-services --cluster $CLUSTER --service $SERVICE | jq '.services[]|.desiredCount'` - if [ $SERVICE_DESIREDCOUNT -gt 0 ]; then + SERVICE_DESIREDCOUNT=$($AWS_ECS describe-services --cluster $CLUSTER --service $SERVICE | jq '.services[]|.desiredCount') + if [ "$SERVICE_DESIREDCOUNT" -gt 0 ]; then # See if the service is able to come up again every=10 i=0 @@ -476,7 +487,7 @@ function updateService() { if [[ $MAX_DEFINITIONS -gt 0 ]]; then FAMILY_PREFIX=${TASK_DEFINITION_ARN##*:task-definition/} FAMILY_PREFIX=${FAMILY_PREFIX%*:[0-9]*} - TASK_REVISIONS=`$AWS_ECS list-task-definitions --family-prefix $FAMILY_PREFIX --status ACTIVE --sort ASC` + TASK_REVISIONS=$($AWS_ECS list-task-definitions --family-prefix $FAMILY_PREFIX --status ACTIVE --sort ASC) NUM_ACTIVE_REVISIONS=$(echo "$TASK_REVISIONS" | jq ".taskDefinitionArns|length") if [[ $NUM_ACTIVE_REVISIONS -gt $MAX_DEFINITIONS ]]; then LAST_OUTDATED_INDEX=$(($NUM_ACTIVE_REVISIONS - $MAX_DEFINITIONS - 1)) @@ -517,6 +528,10 @@ function waitForGreenDeployment { every=2 i=0 echo "Waiting for service deployment to complete..." + if [[ "$DRY_RUN" == true ]]; then + return 0 + fi + while [ $i -lt $TIMEOUT ] do NUM_DEPLOYMENTS=$($AWS_ECS describe-services --services $SERVICE --cluster $CLUSTER | jq "[.services[].deployments[]] | length") @@ -557,7 +572,7 @@ function runTask { AWS_ECS_RUN_TASK="$AWS_ECS_RUN_TASK --network-configuration \"$RUN_TASK_NETWORK_CONFIGURATION\"" fi - TASK_ARN=$(eval $AWS_ECS_RUN_TASK | jq -r '.tasks[0].taskArn') + TASK_ARN=$(eval "$AWS_ECS_RUN_TASK" | jq -r '.tasks[0].taskArn') echo "Executed task: $TASK_ARN" if [ $RUN_TASK_WAIT_FOR_SUCCESS == true ]; then @@ -569,12 +584,12 @@ function runTask { TASK_JSON=$($AWS_ECS describe-tasks --cluster "$CLUSTER" --tasks "$TASK_ARN") - TASK_STATUS=$(echo $TASK_JSON | jq -r '.tasks[0].lastStatus') - TASK_EXIT_CODE=$(echo $TASK_JSON | jq -r '.tasks[0].containers[0].exitCode') + TASK_STATUS=$(echo "$TASK_JSON" | jq -r '.tasks[0].lastStatus') + TASK_EXIT_CODE=$(echo "$TASK_JSON" | jq -r '.tasks[0].containers[0].exitCode') - if [ $TASK_STATUS == "STOPPED" ]; then + if [ "$TASK_STATUS" == "STOPPED" ]; then echo "Task finished with status: $TASK_STATUS" - if [ $TASK_EXIT_CODE != 0 ]; then + if [ "$TASK_EXIT_CODE" != 0 ]; then echo "Task execution failed with exit code: $TASK_EXIT_CODE" exit 1 fi @@ -731,6 +746,9 @@ if [ "$BASH_SOURCE" == "$0" ]; then -v|--verbose) VERBOSE=true ;; + --dry-run) + DRY_RUN=true + ;; --version) echo ${VERSION} exit 0 @@ -779,7 +797,7 @@ if [ "$BASH_SOURCE" == "$0" ]; then # register new task definition registerNewTaskDefinition - echo "New task definition: $NEW_TASKDEF"; + [[ "$DRY_RUN" == false ]] && echo "New task definition: $NEW_TASKDEF"; # update service if needed if [ $SERVICE == false ]; then