diff --git a/documentation/chapters/templates/IaC/docker-compose.adoc b/documentation/chapters/templates/IaC/docker-compose.adoc index a809387..d46ac2f 100644 --- a/documentation/chapters/templates/IaC/docker-compose.adoc +++ b/documentation/chapters/templates/IaC/docker-compose.adoc @@ -40,12 +40,16 @@ echo SOME_PASSWORD="$SOME_PASSWORD" >>.env |Name |Description | Default Value | SSH_PRIVATE_KEY_DEPLOY | Private key to access remote system. -| $SSH_PRIVATE_KEY (In den CI-CD variablen) +| $SSH_PRIVATE_KEY (In den CI-CD variablen) | SSH_URL | URL of the remote server. | - +| SSH_PORT +| SSH port of the remote server. +| 22 + | SSH_USER | The user that is used to login into the remote maschine. | - diff --git a/templates/IaC/docker-compose.gitlab-ci.yml b/templates/IaC/docker-compose.gitlab-ci.yml index ee6d369..72b63aa 100644 --- a/templates/IaC/docker-compose.gitlab-ci.yml +++ b/templates/IaC/docker-compose.gitlab-ci.yml @@ -7,6 +7,7 @@ COMPOSE_EXTRA_ARGS: "" SSH_URL: "" SSH_USER: "" + SSH_PORT: "22" DOCKER_REGISTRY: "$CI_REGISTRY" ENV_SETUP_FILE: "setup_env.sh" SSH_PRIVATE_KEY_DEPLOY: $SSH_PRIVATE_KEY @@ -28,7 +29,15 @@ - chmod +x /usr/local/bin/docker-compose script: - 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 docker-compose $COMPOSE_EXTRA_ARGS up -d --remove-orphans + - 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 + .docker-compose-validate: image: docker:20.10.14-alpine3.15