From 757dbde1994a097cd6c58f3f9a400ae0780e3c02 Mon Sep 17 00:00:00 2001 From: Marcel Feix Date: Tue, 10 May 2022 10:24:18 +0200 Subject: [PATCH] feat(IaC-Docker-Compose) change workaround because anchors are not usable from include --- .../chapters/templates/IaC/docker-compose.adoc | 10 ++++++++++ templates/IaC/docker-compose.gitlab-ci.yml | 13 +++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/documentation/chapters/templates/IaC/docker-compose.adoc b/documentation/chapters/templates/IaC/docker-compose.adoc index d46ac2f..383a37b 100644 --- a/documentation/chapters/templates/IaC/docker-compose.adoc +++ b/documentation/chapters/templates/IaC/docker-compose.adoc @@ -34,6 +34,16 @@ echo COMPOSE_PROJECT_NAME=project-prefix >>.env echo SOME_PASSWORD="$SOME_PASSWORD" >>.env ---- +== SSH Problem workaround + +Sometimes there is a problem with some SSH servers and Docker. +We have a workaround for this, please override your script with the following: + +---- + script: + - !reference [.broken-ssh-connection-workaround, script] +---- + .Variables |=== diff --git a/templates/IaC/docker-compose.gitlab-ci.yml b/templates/IaC/docker-compose.gitlab-ci.yml index 72b63aa..9b8e9b9 100644 --- a/templates/IaC/docker-compose.gitlab-ci.yml +++ b/templates/IaC/docker-compose.gitlab-ci.yml @@ -31,12 +31,13 @@ - if [[ -n "$SCP_SOURCE" && -n "$SCP_DESTINATION" ]]; then scp -rp $SCP_SOURCE $SSH_USER@$SSH_URL:$SCP_DESTINATION; fi - DOCKER_HOST=ssh://$SSH_USER@$SSH_URL:$SSH_PORT docker-compose $COMPOSE_EXTRA_ARGS up -d --remove-orphans -.broken-ssh-connection-workaround: &broken-ssh-connection-workaround - - if [[ -n "$SCP_SOURCE" && -n "$SCP_DESTINATION" ]]; then scp -rp $SCP_SOURCE $SSH_USER@$SSH_URL:$SCP_DESTINATION; fi - # Tunnel Docker socket from remote Maschine to local Maschine. This should be more stable than the current SSH Implementation of Docker - - rm -f /tmp/docker.sock - - ssh -M -S docker-ctrl-socket -fnNT -L /tmp/docker.sock:/var/run/docker.sock "$SSH_USER@$SSH_URL" -p $SSH_PORT -o ControlPersist=no - - DOCKER_HOST=unix:///tmp/docker.sock docker-compose $COMPOSE_EXTRA_ARGS up -d --remove-orphans +.broken-ssh-connection-workaround: + script: + - if [[ -n "$SCP_SOURCE" && -n "$SCP_DESTINATION" ]]; then scp -rp $SCP_SOURCE $SSH_USER@$SSH_URL:$SCP_DESTINATION; fi + # Tunnel Docker socket from remote Maschine to local Maschine. This should be more stable than the current SSH Implementation of Docker + - rm -f /tmp/docker.sock + - ssh -M -S docker-ctrl-socket -fnNT -L /tmp/docker.sock:/var/run/docker.sock "$SSH_USER@$SSH_URL" -p $SSH_PORT -o ControlPersist=no + - DOCKER_HOST=unix:///tmp/docker.sock docker-compose $COMPOSE_EXTRA_ARGS up -d --remove-orphans .docker-compose-validate: