Commit 6579d644 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Añade SERVICES_TO_DEPLOY, restaura comando compose

Permite definir un subconjunto de servicios a desplegar, en lugar de
todos los disponibles en los ficheros compose. Solo es compatible con el
modo docker-compose, definiendo la variable SERVICES_TO_DEPLOY.

Deshace configuración de docker-compose mediante variables de entorno,
usando los parámetros del comando en su lugar. Esto tiene 2 ventajas: no
se modifica el entorno de despliegue (que podría tener valores definidos
para esas variables) y no se ignoran los errores producidos al ejecutar
docker-compose (en la versión anterior, al ser unset el último comando
ejecutado, no se tenía en cuenta cualquier error anterior).
parent 46d34820
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ You may define these environment variables (**bold** are mandatory):
* **SSH_REMOTE**: SSH user and host of remote machine where you are going to deploy.
* **DEPLOY_KEY**: Private key paired with a public key accepted by remote machine, used to authenticate.
* *SERVICE*: Name of service to relaunch. **Required** for relaunch action.
* *SERVICES_TO_DEPLOY*: Names of services to deploy, separated by space. Only for standard mode (docker-compose).
* *ENV_PREFIX*: Prefix used to identify variables to be defined in remote environment (without this prefix). Default `DD_`.
* *ENV_SPACE_REPLACEMENT*: Unique string used to replace spaces into variable values while handling them. Default `<dd-space>`.
* *COMPOSE_FILE*: Name of docker-compose file with deployment definition. Multiple files are supported, separated by colon (`:`). Default `docker-compose.yml`.
+6 −6
Original line number Diff line number Diff line
@@ -18,12 +18,12 @@ deployCmd="\
		env -i /bin/sh -c \". \$(pwd)/.env-deploy && \
			docker stack deploy -c \${composeFileSplitted} \${deployAuthParam} ${STACK}\" ; \
	else \
		export COMPOSE_FILE=\"${COMPOSE_FILE}\" COMPOSE_PROJECT_NAME=\"${STACK}\" ; \
		docker-compose stop && \
		docker-compose rm -f && \
		docker-compose pull && \
		docker-compose up -d ; \
		unset COMPOSE_FILE COMPOSE_PROJECT_NAME ; \
		composeFileSplitted=\$(echo ${COMPOSE_FILE} | sed 's/:/ -f /g') && \
		composeCmd=\"docker-compose -f \${composeFileSplitted} -p ${STACK}\" && \
		\${composeCmd} stop ${SERVICES_TO_DEPLOY} && \
		\${composeCmd} rm -f ${SERVICES_TO_DEPLOY} && \
		\${composeCmd} pull ${SERVICES_TO_DEPLOY} && \
		\${composeCmd} up -d ${SERVICES_TO_DEPLOY} ; \
	fi"

cleanDeployCmd="ssh ${SSH_PARAMS} \"${SSH_REMOTE}\" \"rm -rf ${DEPLOY_HOME}\""