1- #! /bin/bash
1+ #! /usr/ bin/env bash
22
3- if [ ${TRAVIS_PULL_REQUEST} != " false" ]; then echo " Not deploying on a pull request !!!" && exit 0; fi
3+ # Steps
4+ # Identify the build agent. Check whether build agent is same as deployment server
5+ # Login to build server and build, run, check the new changes.
6+ # --force-recreate for docker-compose
7+ # --no-cache for docker build
8+ # -f for npm install
9+ # -v --rmi all for docker compose down
410
5- PACKAGE_VERSION=` jq ' .version' version.json | tr -d ' "' `
6- export IMAGE_NAME=` echo " froala-${BUILD_REPO_NAME} _${TRAVIS_BRANCH} :${PACKAGE_VERSION} " | tr ' [:upper:]' ' [:lower:]' `
7- export BASE_DOMAIN=" froala-infra.com"
8- export SDK_ENVIRONMENT=" "
9- export DEPLOYMENT_SERVER=" "
11+ if [ " ${TRAVIS_PULL_REQUEST} " != " false" ]; then echo " Not deploying on a pull request !!!" && exit 0; fi
1012
11- SERVICE_NAME=" "
12- CONTAINAER_NAME=" "
13+ # Define the global variables
14+ BRANCH_NAME=$( echo " ${TRAVIS_BRANCH} " | tr ' [:upper:]' ' [:lower:]' )
15+ PACKAGE_VERSION=" $( jq ' .version' version.json | tr -d ' "' ) "
16+ IMAGE_NAME=" $( echo " froala-${BUILD_REPO_NAME} _${TRAVIS_BRANCH} :${PACKAGE_VERSION} " | tr ' [:upper:]' ' [:lower:]' ) "
17+ BASE_DOMAIN=" froala-infra.com"
18+ AO_IDENTIFIER=" ${TRAVIS_BRANCH} "
19+ BRANCH_LENGHT=$( echo " ${TRAVIS_BRANCH} " | awk ' {print length}' )
20+ LW_REPO_NAME=$( echo " ${BUILD_REPO_NAME} " | tr ' [:upper:]' ' [:lower:]' | sed -e ' s/-//g' -e ' s/\.//g' -e ' s/_//g' )
1321CT_INDEX=0
14- AO_IDENTIFIER=` echo ${TRAVIS_BRANCH} `
15- echo " ${AO_IDENTIFIER} "
22+ MAX_DEPLOYMENTS_NR=0
23+ SDK_ENVIRONMENT=" "
24+ DEPLOYMENT_SERVER=" "
25+ SERVICE_NAME=" "
26+ CONTAINER_NAME=" "
1627OLDEST_CONTAINER=" "
1728
29+ # Copy the ssh key
1830echo " ${SSH_KEY} " | base64 --decode > /tmp/sshkey.pem
1931chmod 400 /tmp/sshkey.pem
2032
21- export MAX_DEPLOYMENTS_NR=0
33+ # Select the deployment server based on the branch.
34+ case " ${BRANCH_NAME} " in
35+ dev* ) SDK_ENVIRONMENT=" dev" && DEPLOYMENT_SERVER=" ${FROALA_SRV_DEV} " ;;
36+ ao-dev* ) SDK_ENVIRONMENT=" dev" && DEPLOYMENT_SERVER=" ${FROALA_SRV_DEV} " ;;
37+ qa* ) SDK_ENVIRONMENT=" qa" && DEPLOYMENT_SERVER=" ${FROALA_SRV_QA} " ;;
38+ qe* ) SDK_ENVIRONMENT=" qe" && DEPLOYMENT_SERVER=" ${FROALA_SRV_QE} " ;;
39+ rc* ) SDK_ENVIRONMENT=" stg" && DEPLOYMENT_SERVER=" ${FROALA_SRV_STAGING} " ;;
40+ release-master* ) SDK_ENVIRONMENT=" stg" && DEPLOYMENT_SERVER=${FROALA_SRV_STAGING} ;;
41+ ft* ) echo " Building only on feature branch ${TRAVIS_BRANCH} ... will not deploy..." && exit 0;;
42+ bf* ) echo " Building only on bugfix branch ${TRAVIS_BRANCH} ... will not deploy..." && exit 0;;
43+ * ) echo " Not a deployment branch" && exit 1;;
44+ esac
45+
46+ # Set the short branch name
47+ if [ " ${BRANCH_LENGHT} " -lt 18 ]; then
48+ SHORT_TRAVIS_BRANCH=" ${TRAVIS_BRANCH} "
49+ else
50+ SHORT_TRAVIS_BRANCH=" ${TRAVIS_BRANCH: 0: 8}${TRAVIS_BRANCH: -8} "
51+ fi
52+ LW_SHORT_TRAVIS_BRANCH=" $( echo " ${SHORT_TRAVIS_BRANCH} " | sed -e ' s/-//g' -e ' s/\.//g' -e ' s/_//g' | tr ' [:upper:]' ' [:lower:]' ) "
2253
23- function get_max_deployments_per_env(){
24- local ENVIRONMENT= $1
25- echo " getting max deployments for environment ${ENVIRONMENT } "
26- MAX_DEPLOYMENTS_NR=` jq --arg sdkenvironment ${ENVIRONMENT} ' .[$sdkenvironment]' version.json | tr -d ' "' `
27- echo " detected max deployments: ${MAX_DEPLOYMENTS_NR} "
54+ # Get the maximum allowed deployment for given environment
55+ function max_allowed_deployment(){
56+ echo " getting max deployments for environment ${SDK_ENVIRONMENT } "
57+ MAX_DEPLOYMENTS_NR=$( jq --arg sdkenvironment " ${SDK_ENVIRONMENT} " ' .[$sdkenvironment]' version.json | tr -d ' "' )
58+ echo " Max allowed deployments: ${MAX_DEPLOYMENTS_NR} "
2859}
60+ max_allowed_deployment
2961
62+ # Get the total numbers of deployed container for given environment
63+ function existing_deployments(){
64+ echo " Checking the existing number of running container(s)"
65+ EXISTING_DEPLOYMENTS_NR=$( ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem " ${SSH_USER} " @" ${DEPLOYMENT_SERVER} " " sudo docker ps | grep -i ${LW_REPO_NAME} -${AO_IDENTIFIER} " | wc -l)
66+ echo " Number of existing deployment: ${EXISTING_DEPLOYMENTS_NR} "
67+ }
68+ existing_deployments
69+
70+ # Get the old container name, no of deployments, and generate the new index and container name
3071function generate_container_name(){
31- local LW_REPO_NAME=$1
32- local LW_SHORT_TRAVIS_BRANCH=$2
33- local SDK_ENVIRONMENT=$3
34- local DEPLOYMENT_SERVER=$4
35- echo " searching for ${LW_REPO_NAME} depl..."
36- sleep 1
37- RUNNING_DEPL=` ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER} @${DEPLOYMENT_SERVER} " sudo docker ps | grep -i ${LW_REPO_NAME} " `
38- echo " running depl var: ${RUNNING_DEPL} "
39- echo " looking for ${LW_REPO_NAME} deployments"
40- echo " getting indexes for oldest and latest deployed container"
41- DEPL=' ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem '
42- DEPL=" ${DEPL} ${SSH_USER} @${DEPLOYMENT_SERVER} "
43- REL=' " sudo docker ps | grep -i '
44- DEPL=" ${DEPL} ${REL} "
45- DEPL=" ${DEPL} ${LW_REPO_NAME} -${AO_IDENTIFIER} "
46- REL=' "'
47- DEPL=" ${DEPL} ${REL} "
48- echo " show docker containers ssh cmd: $DEPL "
49- echo ${DEPL} | bash > file.txt
50- echo " running conatiners: "
51- cat file.txt
52- CT_LOWER_INDEX=` cat file.txt | awk -F' -' ' {print $NF }' | sort -nk1 | head -1`
53- CT_HIGHER_INDEX=` cat file.txt | awk -F' -' ' {print $NF }' | sort -nk1 | tail -1`
54- echo " lowest index : ${CT_LOWER_INDEX} ; and highest index : ${CT_HIGHER_INDEX} "
55- if [ -z " ${RUNNING_DEPL} " ]; then
56- echo " first deployment"
57- CT_INDEX=1
58- CONTAINER_NAME=" ${LW_REPO_NAME} -${AO_IDENTIFIER} -${CT_INDEX} "
59- SERVICE_NAME=" ${LW_REPO_NAME} -${LW_SHORT_TRAVIS_BRANCH} "
60- else
61- echo " multiple deployments"
62- CT_INDEX=${CT_HIGHER_INDEX} && CT_INDEX=$(( CT_INDEX+ 1 ))
63- OLDEST_CONTAINER=" ${LW_REPO_NAME} -${AO_IDENTIFIER} -${CT_LOWER_INDEX} "
64- CONTAINER_NAME=" ${LW_REPO_NAME} -${AO_IDENTIFIER} -${CT_INDEX} "
65- SERVICE_NAME=" ${LW_REPO_NAME} -${LW_SHORT_TRAVIS_BRANCH} -${CT_INDEX} "
66- echo " new index: ${CT_INDEX} & oldest horse out there: ${OLDEST_CONTAINER} "
67- fi
72+
73+ DEPL=$( ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem " ${SSH_USER} " @" ${DEPLOYMENT_SERVER} " sudo docker ps | grep -i " ${LW_REPO_NAME} " -" ${AO_IDENTIFIER} " )
74+ echo " Containers running for ${AO_IDENTIFIER} : ${DEPL} "
75+ echo " ${DEPL} " > file.txt
76+
77+ echo " Getting indexes of oldest and latest deployed containers for ${AO_IDENTIFIER} "
78+ CT_LOWER_INDEX=$( awk -F' -' ' {print $NF }' < file.txt | sort -nk1 | head -1)
79+ CT_HIGHER_INDEX=$( awk -F' -' ' {print $NF }' < file.txt | sort -nk1 | tail -1)
80+ echo " Lowest index : ${CT_LOWER_INDEX} ; and Highest index : ${CT_HIGHER_INDEX} "
81+
82+ if [ -z " ${DEPL} " ]; then
83+ echo " First deployment. Setting the container name."
84+ CT_INDEX=1
85+ CONTAINER_NAME=" ${LW_REPO_NAME} -${AO_IDENTIFIER} -${CT_INDEX} "
86+ SERVICE_NAME=" ${LW_REPO_NAME} -${LW_SHORT_TRAVIS_BRANCH} "
87+ else
88+ echo " Multiple deployments detected. Setting the container name (old and new)"
89+ CT_INDEX=${CT_HIGHER_INDEX} && CT_INDEX=$(( CT_INDEX+ 1 ))
90+ OLDEST_CONTAINER=" ${LW_REPO_NAME} -${AO_IDENTIFIER} -${CT_LOWER_INDEX} "
91+ CONTAINER_NAME=" ${LW_REPO_NAME} -${AO_IDENTIFIER} -${CT_INDEX} "
92+ SERVICE_NAME=" ${LW_REPO_NAME} -${LW_SHORT_TRAVIS_BRANCH} -${CT_INDEX} "
93+ echo " New index: ${CT_INDEX} "
94+ fi
6895}
69- echo " Container port: ${CONTAINER_SERVICE_PORTNO} "
70- export BRANCH_NAME=` echo " ${TRAVIS_BRANCH} " | tr ' [:upper:]' ' [:lower:]' `
71- case " ${BRANCH_NAME} " in
72- dev* ) SDK_ENVIRONMENT=" dev" && DEPLOYMENT_SERVER=${FROALA_SRV_DEV} ;;
73- ao-dev* ) SDK_ENVIRONMENT=" dev" && DEPLOYMENT_SERVER=${FROALA_SRV_DEV} ;;
74- qa* ) SDK_ENVIRONMENT=" qa" && DEPLOYMENT_SERVER=${FROALA_SRV_QA} ;;
75- qe* ) SDK_ENVIRONMENT=" qe" && DEPLOYMENT_SERVER=${FROALA_SRV_QE} ;;
76- rc* ) SDK_ENVIRONMENT=" stg" && DEPLOYMENT_SERVER=${FROALA_SRV_STAGING} ;;
77- release-master* ) SDK_ENVIRONMENT=" stg" && DEPLOYMENT_SERVER=${FROALA_SRV_STAGING} ;;
78- ft* ) echo " Building only on feature branch ${TRAVIS_BRANCH} ... will not deploy..." && exit 0;;
79- bf* ) echo " Building only on bugfix branch ${TRAVIS_BRANCH} ... will not deploy..." && exit 0;;
80- * ) echo " Not a deployment branch" && exit -1;;
81- esac
82- get_max_deployments_per_env $SDK_ENVIRONMENT
83- echo " deploying on environment :${SDK_ENVIRONMENT} , on server ${DEPLOYMENT_SERVER} , max deployments: ${MAX_DEPLOYMENTS_NR} "
84- export BASE_DOMAIN=" froala-infra.com"
85- SHORT_REPO_NAME=" ${BUILD_REPO_NAME: 0: 17} "
86- BRANCH_LENGHT=` echo ${TRAVIS_BRANCH} | awk ' {print length}' `
87- if [ ${BRANCH_LENGHT} -lt 18 ]; then
88- SHORT_TRAVIS_BRANCH=${TRAVIS_BRANCH}
89- else
90- SHORT_TRAVIS_BRANCH=" ${TRAVIS_BRANCH: 0: 8}${TRAVIS_BRANCH: -8} "
91- fi
92- echo " short branch name : ${SHORT_TRAVIS_BRANCH} "
93- SHORT_TRAVIS_BRANCH=` echo ${SHORT_TRAVIS_BRANCH} | sed -r ' s/-//g' `
94- SHORT_TRAVIS_BRANCH=` echo ${SHORT_TRAVIS_BRANCH} | sed -r ' s/\.//g' `
95- SHORT_TRAVIS_BRANCH=` echo ${SHORT_TRAVIS_BRANCH} | sed -r ' s/_//g' `
96- echo " short branch name : ${SHORT_TRAVIS_BRANCH} "
97- DEPLOYMENT_URL=" ${SHORT_REPO_NAME} -${SHORT_TRAVIS_BRANCH} .${SDK_ENVIRONMENT} .${BASE_DOMAIN} "
98- echo " deployment URL: https://${DEPLOYMENT_URL} "
99- cp docker-compose.yml.template docker-compose.yml
100- LW_REPO_NAME=` echo " ${BUILD_REPO_NAME} " | tr ' [:upper:]' ' [:lower:]' `
101- LW_REPO_NAME=` echo ${LW_REPO_NAME} | sed -r ' s/_//g' `
102- LW_REPO_NAME=` echo ${LW_REPO_NAME} | sed -r ' s/-//g' `
103- LW_REPO_NAME=` echo ${LW_REPO_NAME} | sed -r ' s/\.//g' `
104- LW_SHORT_TRAVIS_BRANCH=` echo " ${SHORT_TRAVIS_BRANCH} " | tr ' [:upper:]' ' [:lower:]' `
105- generate_container_name ${LW_REPO_NAME} ${LW_SHORT_TRAVIS_BRANCH} ${DEPLOYMENT_SERVER} ${DEPLOYMENT_SERVER}
106- echo " service name : ${SERVICE_NAME} & container name : ${CONTAINER_NAME} "
107- sed -i " s/ImageName/${NEXUS_CR_TOOLS_URL} \/${IMAGE_NAME} /g" docker-compose.yml
108- sed -i " s/UrlName/${DEPLOYMENT_URL} /g" docker-compose.yml
109- sed -i " s/ServiceName/${SERVICE_NAME} /g" docker-compose.yml
110- sed -i " s/PortNum/${CONTAINER_SERVICE_PORTNO} /g" docker-compose.yml
111- sed -i " s/ContainerName/${CONTAINER_NAME} /g" docker-compose.yml
112- cat docker-compose.yml
113- LW_REPO_NAME_LENGTH=` echo ${LW_REPO_NAME} | awk ' {print length}' `
114- SHORT_SERVICE_NAME=" ${SERVICE_NAME: 0: $LW_REPO_NAME_LENGTH } "
115- echo " short service name: ${SHORT_SERVICE_NAME} "
116- function deploy_service(){
117- ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER} @${DEPLOYMENT_SERVER} " if [ -d /services/${SERVICE_NAME} ]; then sudo docker-compose -f /services/${SERVICE_NAME} /docker-compose.yml down; fi"
118- ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER} @${DEPLOYMENT_SERVER} " if [ -d /services/${SERVICE_NAME} ]; then rm -rf /services/${SERVICE_NAME} ; fi && mkdir /services/${SERVICE_NAME} "
119- scp -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem docker-compose.yml ${SSH_USER} @${DEPLOYMENT_SERVER} :/services/${SERVICE_NAME} /docker-compose.yml
120- ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER} @${DEPLOYMENT_SERVER} " cd /services/${SERVICE_NAME} / && sudo docker-compose pull"
121- ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER} @${DEPLOYMENT_SERVER} " cd /services/${SERVICE_NAME} / && sudo docker-compose up -d"
122- sleep 10 && ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER} @${DEPLOYMENT_SERVER} " sudo docker ps -a | grep -i ${SERVICE_NAME} "
123- echo " Docker-compose is in : /services/${SERVICE_NAME} "
124- sleep 30
125- RET_CODE=` curl -k -s -o /tmp/notimportant.txt -w " %{http_code}" https://${DEPLOYMENT_URL} `
126- echo " validation code: $RET_CODE for https://${DEPLOYMENT_URL} "
127- if [ $RET_CODE -ne 200 ]; then
128- echo " Deployment validation failed!!! Please check pipeline logs."
129- exit -1
130- else
131- echo " Service available at URL: https://${DEPLOYMENT_URL} "
132-
133- fi
96+ generate_container_name
97+
98+ # Print useful details.
99+ echo -e " \n"
100+ echo " ----------------------------------------------------------------------"
101+ echo " Selected environment: ${SDK_ENVIRONMENT} . "
102+ echo " Deployment server: ${DEPLOYMENT_SERVER} . "
103+ echo " Max allowed deployments: ${MAX_DEPLOYMENTS_NR} . "
104+ echo " Number of existing deployment: ${EXISTING_DEPLOYMENTS_NR} "
105+ echo " Oldest container name: ${OLDEST_CONTAINER} "
106+ echo " Container name for this deployment: ${CONTAINER_NAME} "
107+ echo " ----------------------------------------------------------------------"
108+ echo -e " \n"
109+
110+ # Set the deployment URL
111+ DEPLOYMENT_URL=" ${CONTAINER_NAME} .${SDK_ENVIRONMENT} .${BASE_DOMAIN} "
112+
113+ # Modify the compose file and run the docker-compose.
114+ function deploy(){
115+
116+ # Copy the docker-compose template to docker-compose.yml
117+ cp docker-compose.yml.template docker-compose.yml
118+
119+ # Replace the sample values
120+ sed -i " s/ImageName/${NEXUS_CR_TOOLS_URL} \/${IMAGE_NAME} /g" docker-compose.yml
121+ sed -i " s/UrlName/${DEPLOYMENT_URL} /g" docker-compose.yml
122+ sed -i " s/ServiceName/${SERVICE_NAME} /g" docker-compose.yml
123+ sed -i " s/PortNum/${CONTAINER_SERVICE_PORTNO} /g" docker-compose.yml
124+ sed -i " s/ContainerName/${CONTAINER_NAME} /g" docker-compose.yml
125+
126+ echo -e " \n"
127+ echo " Below is the content of docker-compose.yml"
128+ echo " -------------------------------------------------"
129+ cat docker-compose.yml
130+ echo " -------------------------------------------------"
131+ echo -e " \n"
132+
133+ # Remove the old docker-compose from deployment_server
134+ ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem " ${SSH_USER} " @" ${DEPLOYMENT_SERVER} " " if [ -d /services/${SERVICE_NAME} ]; then rm -rf /services/${SERVICE_NAME} ; fi && mkdir /services/${SERVICE_NAME} "
135+
136+ # Copy the latest docker-compose file to deployment_server
137+ scp -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem docker-compose.yml " ${SSH_USER} " @" ${DEPLOYMENT_SERVER} " :/services/" ${SERVICE_NAME} " /docker-compose.yml
138+
139+ # Run docker-compose pull on deployment_server
140+ ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem " ${SSH_USER} " @" ${DEPLOYMENT_SERVER} " " cd /services/${SERVICE_NAME} / && sudo docker-compose pull"
141+ sleep 10
142+
143+ # Run docker-compose up on deployment_server
144+ ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem " ${SSH_USER} " @" ${DEPLOYMENT_SERVER} " " cd /services/${SERVICE_NAME} / && sudo docker-compose up -d --force-recreate"
145+ sleep 60
146+
147+ RET_CODE=$( curl -k -s -o /tmp/notimportant.txt -w " %{http_code}" https://" ${DEPLOYMENT_URL} " )
148+ echo " validation code: $RET_CODE for https://${DEPLOYMENT_URL} "
149+ if [ " ${RET_CODE} " -ne 200 ]; then
150+ echo " Deployment validation failed!!! Please check pipeline logs."
151+ exit 1
152+ else
153+ echo -e " \n\tService available at URL: https://${DEPLOYMENT_URL} \n"
154+ fi
134155}
135- DEPLOYMENT_IS_RUNNING=` echo " ${LW_REPO_NAME} -${AO_IDENTIFIER} -${CT_LOWER_INDEX} " | tr ' [:upper:]' ' [:lower:]' `
136- REDEPLOYMENT=` ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER} @${DEPLOYMENT_SERVER} " sudo docker ps -a | grep -i " ${DEPLOYMENT_IS_RUNNING} -${AO_IDENTIFIER} " | wc -l" `
137- echo " ${DEPLOYMENT_IS_RUNNING} "
138- echo " checking if this PRD exists & do redeploy: ${REDEPLOYMENT} "
139- if [ ${REDEPLOYMENT} -eq 1 ]; then
140- echo " Redeploying service: ${SERVICE_NAME} ..."
141- deploy_service
156+
157+ # If existing deployment less than max deployment then just deploy don't remove old container.
158+ if [ " ${EXISTING_DEPLOYMENTS_NR} " -lt " ${MAX_DEPLOYMENTS_NR} " ]; then
159+ deploy
160+ fi
161+
162+ # If existing deployment equals max deployment then delete oldest container.
163+ if [ " ${EXISTING_DEPLOYMENTS_NR} " -ge " ${MAX_DEPLOYMENTS_NR} " ]; then
164+
165+ echo " Maximum deployments reached on ${SDK_ENVIRONMENT} environment for ${BUILD_REPO_NAME} ."
166+ echo " Stopping container ${OLDEST_CONTAINER} ..."
167+
168+ if ! ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem " ${SSH_USER} " @" ${DEPLOYMENT_SERVER} " sudo docker stop " ${OLDEST_CONTAINER} " ; then
169+ echo " Failed to stop the ${OLDEST_CONTAINER} container"
170+ fi
171+ echo " Successfully stopped the ${OLDEST_CONTAINER} container."
172+
173+ if ! ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem " ${SSH_USER} " @" ${DEPLOYMENT_SERVER} " sudo docker rm -f " ${OLDEST_CONTAINER} " ; then
174+ echo " Failed to remove the ${OLDEST_CONTAINER} container"
175+ fi
176+ echo " Successfully removed the ${OLDEST_CONTAINER} container."
177+
178+ echo " Deploying the service: ${SERVICE_NAME} "
179+ deploy && sleep 30
180+ echo " Deployment completed."
142181fi
143- EXISTING_DEPLOYMENTS=` ssh -o " StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER} @${DEPLOYMENT_SERVER} " sudo docker ps | grep -i " ${LW_REPO_NAME} -${AO_IDENTIFIER} " | wc -l" `
144- if [ ${EXISTING_DEPLOYMENTS} -gt ${MAX_DEPLOYMENTS_NR} ]; then
145- echo " Maximum deployments reached on ${SDK_ENVIRONMENT} environment for ${BUILD_REPO_NAME} ; existing deployments: ${EXISTING_DEPLOYMENTS} ; max depl: ${MAX_DEPLOYMENTS_NR} "
146- echo " Stopping container ${OLDEST_CONTAINER} ..."
147- RCMD=' ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem '
148- RCMD=" ${RCMD} ${SSH_USER} @${DEPLOYMENT_SERVER} "
149- REM=' " sudo docker stop '
150- RCMD=" ${RCMD} $REM ${OLDEST_CONTAINER} " ' "'
151- echo $RCMD | bash
152- sleep 12
153- RCMD=' ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem '
154- RCMD=" ${RCMD} ${SSH_USER} @${DEPLOYMENT_SERVER} "
155- REM=' " sudo docker rm '
156- RCMD=" ${RCMD} $REM ${OLDEST_CONTAINER} " ' "'
157- echo $RCMD | bash
158- else
159- echo " Deploying service ..."
160- deploy_service
161- fi
0 commit comments