docs(Docker-Compose) Add docs vor Docker Compose Templates
This commit is contained in:
parent
524c42bca6
commit
caadb12077
@ -1,23 +1,27 @@
|
|||||||
.deploy-docker-compose:
|
.deploy-docker-compose:
|
||||||
image: docker/compose:alpine-1.29.1
|
image: docker/compose:alpine-1.29.1
|
||||||
stage: deploy
|
stage: deploy
|
||||||
# variables:
|
variables:
|
||||||
# SCP_DESTINATION: "path to destination where scp is copying files"
|
SCP_DESTINATION: ""
|
||||||
# SCP_SOURCE: "path to local files"
|
SCP_SOURCE: $CI_PROJECT_DIR
|
||||||
# COMPOSE_EXTRA_ARGS: "Extra arguments that will be passed to docker-compose"
|
COMPOSE_EXTRA_ARGS: ""
|
||||||
# SSH_URL: "url to the SSH service"
|
SSH_URL: ""
|
||||||
# SSH_USER: "username of the ssh connection"
|
SSH_USER: ""
|
||||||
|
DOCKER_REGISTRY: "$CI_REGISTRY"
|
||||||
|
ENV_SETUP_FILE: "setup_env.sh"
|
||||||
rules:
|
rules:
|
||||||
- when: manual
|
- when: manual
|
||||||
# https://docs.gitlab.com/ee/ci/ssh_keys/
|
# https://docs.gitlab.com/ee/ci/ssh_keys/
|
||||||
before_script:
|
before_script:
|
||||||
- if [ -f "setup_env.sh" ]; then chmod +x ./setup_env.sh; ./setup_env.sh; 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" | 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
|
||||||
- ssh-keyscan $SSH_URL >> ~/.ssh/known_hosts
|
- ssh-keyscan $SSH_URL >> ~/.ssh/known_hosts
|
||||||
|
- if [[ -n "$DOCKER_REGISTRY" ]]; then docker login $DOCKER_REGISTRY; fi
|
||||||
script:
|
script:
|
||||||
- if [[ -n "$SCP_SOURCE" && -n "$SCP_DESTINATION" ]]; then scp -rp $SCP_SOURCE $SSH_USER@$SSH_URL:$SCP_DESTINATION; fi
|
- 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
|
- DOCKER_HOST=ssh://$SSH_USER@$SSH_URL docker-compose $COMPOSE_EXTRA_ARGS up -d --remove-orphans
|
||||||
@ -1,7 +1,5 @@
|
|||||||
Validate Intern:
|
Validate Intern:
|
||||||
image: docker/compose:alpine-1.29.1
|
image: docker/compose:alpine-1.29.1
|
||||||
stage: test
|
stage: test
|
||||||
# variables:
|
|
||||||
# COMPOSE_EXTRA_ARGS:
|
|
||||||
script:
|
script:
|
||||||
- docker-compose $COMPOSE_EXTRA_ARGS config
|
- docker-compose $COMPOSE_EXTRA_ARGS config
|
||||||
51
documentation/chapters/templates/docker-compose-deploy.adoc
Normal file
51
documentation/chapters/templates/docker-compose-deploy.adoc
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
:sourcedir: ../../../
|
||||||
|
|
||||||
|
= Docker-Compose-Deploy
|
||||||
|
|
||||||
|
Kopiert Daten mit hilfe von scp aus der Repo auf einen 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.
|
||||||
|
|
||||||
|
.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.
|
||||||
|
| -
|
||||||
|
|===
|
||||||
|
|
||||||
|
.container scan template
|
||||||
|
----
|
||||||
|
include::{sourcedir}/docker-compose-deploy.yml[]
|
||||||
|
----
|
||||||
|
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
:sourcedir: ../../../
|
||||||
|
|
||||||
|
= Docker-Compose-Validate
|
||||||
|
|
||||||
|
Validiert die semantische Korrektheit eines Docker-Compose files.
|
||||||
|
|
||||||
|
.Variables
|
||||||
|
|===
|
||||||
|
|Name |Description | Default Value
|
||||||
|
| COMPOSE_EXTRA_ARGS
|
||||||
|
| Weitere argumente die an Docker-Compose geschickt werden können.
|
||||||
|
| -
|
||||||
|
|
||||||
|
|===
|
||||||
|
|
||||||
|
.container scan template
|
||||||
|
----
|
||||||
|
include::{sourcedir}/docker-compose-validate.yml[]
|
||||||
|
----
|
||||||
Loading…
Reference in New Issue
Block a user