chore(Docker-Compose) Make SSH Key overwritable
This commit is contained in:
parent
65cdeb2fd3
commit
6af14be045
@ -9,6 +9,7 @@
|
|||||||
SSH_USER: ""
|
SSH_USER: ""
|
||||||
DOCKER_REGISTRY: "$CI_REGISTRY"
|
DOCKER_REGISTRY: "$CI_REGISTRY"
|
||||||
ENV_SETUP_FILE: "setup_env.sh"
|
ENV_SETUP_FILE: "setup_env.sh"
|
||||||
|
SSH_PRIVATE_KEY_DEPLOY: $SSH_PRIVATE_KEY
|
||||||
rules:
|
rules:
|
||||||
- when: manual
|
- when: manual
|
||||||
# https://docs.gitlab.com/ee/ci/ssh_keys/
|
# 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
|
- 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 )'
|
- 'command -v ssh-agent >/dev/null || ( apk --update add openssh-client )'
|
||||||
- eval $(ssh-agent -s)
|
- 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
|
- mkdir -p ~/.ssh
|
||||||
- chmod 700 ~/.ssh
|
- chmod 700 ~/.ssh
|
||||||
# Add keys to known hosts for Docker Compose
|
# Add keys to known hosts for Docker Compose
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
Kopiert Daten mithilfe von scp aus dem Repo auf ein Deployment-System.
|
Kopiert Daten mithilfe von scp aus dem Repo auf ein Deployment-System.
|
||||||
Dort wird über SSH Docker-compose up ausgeführt.
|
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.
|
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.
|
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.
|
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
|
#!/bin/sh
|
||||||
|
|
||||||
|
#Printed alle Umgebungsvariablen in das .env File.
|
||||||
|
printenv >> .env
|
||||||
|
|
||||||
echo COMPOSE_PROJECT_NAME=project-prefix >>.env
|
echo COMPOSE_PROJECT_NAME=project-prefix >>.env
|
||||||
|
|
||||||
#Secrets
|
#Secrets
|
||||||
@ -24,9 +28,9 @@ echo SOME_PASSWORD="$SOME_PASSWORD" >>.env
|
|||||||
|===
|
|===
|
||||||
|
|
||||||
|Name |Description | Default Value
|
|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.
|
| Private key der zugriff auf den Deployment Server hat.
|
||||||
| -
|
| $SSH_PRIVATE_KEY (In den CI-CD variablen)
|
||||||
|
|
||||||
| SSH_URL
|
| SSH_URL
|
||||||
| URL des Servers auf den Docker-Compose ausgeführt werden soll.
|
| URL des Servers auf den Docker-Compose ausgeführt werden soll.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user