diff --git a/docker-compose-deploy.gitlab-ci.yml b/docker-compose-deploy.gitlab-ci.yml index 5e8f307..bd6983b 100644 --- a/docker-compose-deploy.gitlab-ci.yml +++ b/docker-compose-deploy.gitlab-ci.yml @@ -9,6 +9,7 @@ SSH_USER: "" DOCKER_REGISTRY: "$CI_REGISTRY" ENV_SETUP_FILE: "setup_env.sh" + SSH_PRIVATE_KEY_DEPLOY: $SSH_PRIVATE_KEY rules: - when: manual # https://docs.gitlab.com/ee/ci/ssh_keys/ @@ -16,7 +17,7 @@ - if [ -f "$ENV_SETUP_FILE" ]; then chmod +x ./$ENV_SETUP_FILE; ./$ENV_SETUP_FILE; fi - 'command -v ssh-agent >/dev/null || ( apk --update add openssh-client )' - eval $(ssh-agent -s) - - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - + - echo "$SSH_PRIVATE_KEY_DEPLOY" | tr -d '\r' | ssh-add - - mkdir -p ~/.ssh - chmod 700 ~/.ssh # Add keys to known hosts for Docker Compose diff --git a/documentation/chapters/templates/docker-compose-deploy.adoc b/documentation/chapters/templates/docker-compose-deploy.adoc index cc7ba76..aa6caf9 100644 --- a/documentation/chapters/templates/docker-compose-deploy.adoc +++ b/documentation/chapters/templates/docker-compose-deploy.adoc @@ -5,6 +5,7 @@ Kopiert Daten mithilfe von scp aus dem Repo auf ein Deployment-System. Dort wird über SSH Docker-compose up ausgeführt. Für die SSH Verbindung muss ein Private-Key in den CI-CD variablen hinter dem Namen $SSH_PRIVATE_KEY abgelegt werden. + Wenn bereits andere SSH Keys vorhanden sind kann SSH_PRIVATE_KEY_DEPLOY in den Varibalen überschrieben werden. Um die Compose-Files zu parametrisieren kann ein .env File benutzt werden. Dieses sollte mit einem Skript das hinter der variable ENV_SETUP_FILE hinterlegt ist erstellt werden. @@ -14,6 +15,9 @@ Dieses sollte mit einem Skript das hinter der variable ENV_SETUP_FILE hinterlegt ---- #!/bin/sh +#Printed alle Umgebungsvariablen in das .env File. +printenv >> .env + echo COMPOSE_PROJECT_NAME=project-prefix >>.env #Secrets @@ -24,9 +28,9 @@ echo SOME_PASSWORD="$SOME_PASSWORD" >>.env |=== |Name |Description | Default Value -| SSH_PRIVATE_KEY (In den CI-CD variablen) +| SSH_PRIVATE_KEY_DEPLOY | Private key der zugriff auf den Deployment Server hat. -| - +| $SSH_PRIVATE_KEY (In den CI-CD variablen) | SSH_URL | URL des Servers auf den Docker-Compose ausgeführt werden soll.