gitlab-ci

Коннект по 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: {}