Commit 2220fee2 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Merge branch 'dev' into 'master'

Soporta check de varios servicios por despliegue

See merge request redmic-project/docker/docker-deploy!3
parents 6333b65d 9b917ff7
Loading
Loading
Loading
Loading
+45 −40
Original line number Diff line number Diff line
#!/bin/sh

SERVICES_TO_CHECK="${SERVICES_TO_CHECK:-${SERVICE}}"

for serviceToCheck in ${SERVICES_TO_CHECK};
do
	checkDeployCmd="\
		docker stack ls > /dev/null 2> /dev/null ; \
		if [ \"\${?}\" -eq \"0\" ]; \
@@ -12,14 +16,14 @@ checkDeployCmd="\
			echo \"Checking service status, try \${i}/${STATUS_CHECK_RETRIES} ...\" && \
			if [ \"\${SWARM_MODE}\" = true ]; \
			then \
			stackServices=\$(docker service ls -f name=${SERVICE}_ --format '{{.Replicas}}') ; \
				stackServices=\$(docker service ls -f name=${serviceToCheck}_ --format '{{.Replicas}}') ; \
				serviceCount=\$(echo \"\${stackServices}\" | /usr/bin/grep -cE '.+') ; \
				runningServiceCount=\$(echo \"\${stackServices}\" | /usr/bin/grep -cE '([0-9]+)\/\1') ; \
				statusCheckCmd=\"[ \"\${serviceCount}\" -ne \"0\" -a \"\${serviceCount:-_}\" = \"\${runningServiceCount:--}\" ]\" ; \
			else \
				runningContainersIds=\$(docker ps -f status=running --format '{{.ID}}' --no-trunc) ; \
				successfullyExitedContainersIds=\$(docker ps -a -f exited=0 --format '{{.ID}}' --no-trunc) ; \
			serviceContainerId=\$(docker inspect --format='{{.ID}}' ${SERVICE} 2> /dev/null) ; \
				serviceContainerId=\$(docker inspect --format='{{.ID}}' ${serviceToCheck} 2> /dev/null) ; \
				runningService=\$(echo \"\${runningContainersIds}\" | grep \"\${serviceContainerId:--}\") ; \
				successfullyExitedService=\$(echo \"\${successfullyExitedContainersIds}\" | grep \"\${serviceContainerId:--}\") ; \
				statusCheckCmd=\"[ \${serviceContainerId:-_} = \${runningService:--} -o \
@@ -44,3 +48,4 @@ checkDeployCmd="\
		exit 1 \
	"
	ssh ${SSH_PARAMS} "${SSH_REMOTE}" "${checkDeployCmd}"
done