File: //home/arjun/projects/buyercall_forms/buyercall/deploy/features/nginx/removeold.sh
#!/bin/bash
#get num of servers
num=`aws ecs list-container-instances --cluster=buyercall-features|grep 'arn'|wc -l`
numoftasks=`aws ecs list-services --cluster=buyercall-features|jq '.serviceArns[]'|grep -v -w bc-features-nginx|wc -l`
#
if [ $numoftasks -ge $num ]
then
echo "There is no free instance for deploy. removing old feature."
#finding old branch
aws s3 sync s3://bc-features-nginx/domains/ configs/domains/
deletenum=$(($numoftasks - $num))
deletenum=$(($deletenum + 1))
echo "Need to remove "$deletenum "old branch(-es)"
cd configs/domains/ && ls -1t|tail -n -"$deletenum" >remove.txt
while read LINE
do
id=${LINE%.*}
echo "Removing $id branch..."
aws ecs update-service --service bc-"$id" --desired-count 0 --cluster=buyercall-features >/dev/null
aws ecs delete-service --service bc-"$id" --cluster=buyercall-features >/dev/null
aws ecs wait services-inactive --service bc-"$id" --cluster buyercall-features
aws logs delete-log-group --log-group-name /ecs/bc-"$id"
logn=`aws servicediscovery list-services|jq -r --arg id "bc-$id" '.Services[] | select(.Name == $id) | .Id'`
aws servicediscovery delete-service --id="$logn"
rm "${LINE}"
done < remove.txt
rm -f remove.txt
aws s3 sync /opt/atlassian/pipelines/agent/build/deploy/features/nginx/configs/domains/ s3://bc-features-nginx/domains/ --delete
else
echo "There is a free instance for deploy"
fi