66 lines
1.7 KiB
Plaintext
66 lines
1.7 KiB
Plaintext
:sourcedir: ../../../
|
|
|
|
= Docker-Compose-Deploy
|
|
|
|
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.
|
|
|
|
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.
|
|
.env File sollten nicht in der Repo liegen da keine Passwörter in der Repo liegen sollten.
|
|
|
|
.Beispiel für ein setup_env.sh
|
|
----
|
|
#!/bin/sh
|
|
|
|
echo COMPOSE_PROJECT_NAME=project-prefix >>.env
|
|
|
|
#Secrets
|
|
echo SOME_PASSWORD="$SOME_PASSWORD" >>.env
|
|
----
|
|
|
|
.Variables
|
|
|===
|
|
|
|
|Name |Description | Default Value
|
|
| SSH_PRIVATE_KEY (In den CI-CD variablen)
|
|
| Private key der zugriff auf den Deployment Server hat.
|
|
| -
|
|
|
|
| SSH_URL
|
|
| URL des Servers auf den Docker-Compose ausgeführt werden soll.
|
|
| -
|
|
|
|
| SSH_USER
|
|
| Der Passende SSH User zu der SSH Verbindung.
|
|
| -
|
|
|
|
| DOCKER_REGISTRY
|
|
| Die Docker Registry die benutzt werden soll um Images zu pullen.
|
|
| "$CI_REGISTRY"
|
|
|
|
| ENV_SETUP_FILE
|
|
| Falls ein .env file benutzt werden soll kann es mit einem sh script erstellt werden.
|
|
Secrets sollten nicht in der Repository liegen sondern in den CI-CD variablen der Repository settings.
|
|
| "setup_env.sh"
|
|
|
|
| SCP_DESTINATION
|
|
| Ziel Pfad wo Daten mit SCP hin kopiert werden sollen.
|
|
| -
|
|
|
|
| SCP_SOURCE
|
|
| Pfad zu den daten die mit hilfe von SCP kopiert werden sollen.
|
|
| $CI_PROJECT_DIR
|
|
|
|
| COMPOSE_EXTRA_ARGS
|
|
| Weitere argumente die an Docker-Compose geschickt werden können.
|
|
| -
|
|
|===
|
|
|
|
.Docker compose deploy
|
|
----
|
|
include::{sourcedir}/docker-compose-deploy.gitlab-ci.yml[]
|
|
----
|
|
|