Коннект по ssh
#
deploy:
stage: deploy
image: ubuntu
script:
- apt-get update -y && apt-get install openssh-client -y
- eval $(ssh-agent -s)
- echo "$SSH_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- scp -o StrictHostKeyChecking=no hello ubuntu@HOST:/tmp/hello
Графана бекап
#
stages:
- backup
backup:
stage: backup
artifacts:
name: $CI_JOB_NAME-$CI_PIPELINE_IID
paths:
- _OUTPUT_
expire_in: 3 week
image: ysde/docker-grafana-backup-tool
variables:
GRAFANA_TOKEN: TOKEN
GRAFANA_URL: https://mon
GRAFANA_HEADERS: Host:mon
GRAFANA_DEBUG: "false"
DEBUG: "false"
script:
- grafana-backup save
- mv _OUTPUT_ $CI_PROJECT_DIR/
Графана восстановление
#
#!/bin/bash
docker run --rm --name grafana-backup-tool \
-e GRAFANA_TOKEN=TOKEN \
-e GRAFANA_URL=https://mon \
-v ~/_OUTPUT_:/opt/grafana-backup-tool/_OUTPUT_ \
--entrypoint ./restore_grafana.sh \
ysde/docker-grafana-backup-tool /opt/grafana-backup-tool/_OUTPUT_/2019-07-24T13:26:36.tar.gz
Keycloak бекап
#
stages:
- backup
- save
backup:
stage: backup
tags:
- prod
variables:
GIT_STRATEGY: none
GIT_CHECKOUT: "false"
PLUGIN_KUBECTL: "exec key-keycloak-0 -n keycloak -- bash -c "cd /opt/jboss/keycloak && timeout --preserve-status -s TERM 1m ./bin/standalone.sh -Djboss.http.port=8090 -Djboss.https.port=8098 -Djboss.management.http.port=8990 -Djboss.management.https.port=8993 -Dkeycloak.migration.action=export -Dkeycloak.migration.provider=singleFile -Dkeycloak.migration.file=keycloak-backup.json"
script:
- "/usr/local/bin/run.sh"
dependencies: []
cache: {}
artifacts:
save:
stage: save
artifacts:
name: $CI_JOB_NAME-$CI_PIPELINE_IID
paths:
- keycloak-backup.json
expire_in: 3 week
tags:
- prod
variables:
PLUGIN_KUBECTL: "cp -n keycloak key-keycloak-0:/opt/jboss/keycloak/keycloak-backup.json $CI_PROJECT_DIR/keycloak-backup.json"
GIT_STRATEGY: none
GIT_CHECKOUT: "false"
script:
- "/usr/local/bin/run.sh"
dependencies: []
cache: {}