Aller au contenu principal

Job planifié de backup

Permet de faire un backup de la base de données automatiquement, à intervalle régulier.

Nécessite la configuration d'une Scheduled pipeline.

Le dump est fait et contrôlé comme celui du backup avant déploiement : un drush sql-dump en échec fait échouer le job, sans laisser de fichier.

Utilisation​

variables:
CI_TEMPLATE_VERSION: &CI_TEMPLATE_VERSION main
DRUSH_BIN: 'vendor/bin/drush'

include:
- project: kgaut/gitlab-ci-templates
ref: *CI_TEMPLATE_VERSION
file:
- '/templates/generic/stages-variables-extends.yml'
- '/templates/drupal/backup.yml'
- '/templates/drupal/scheduled-backup.yml'

Variables nécessaires​

Nom de la variableContenuExempleRemarque
SSH_CHAINChaine de connexion SSHssh user@serveur
SSH_PRIVATE_KEYClé ssh privée pour se connecter au serveurComment générer une clé ssh
PROJECT_ROOTChemin relatif ou absolu vers la racine du projet~/public_html
DB_PATHDossier relatif à la racine du projet devant contenir les dumpsfiles/dumpscréé au besoin
PROJECT_URLUrl du site pour créer le dumpmonsite.com
DRUSH_BINChemin relatif à la racine du projet vers le binaire drushvendor/bin/drush
DRUSH_ALIASAlias drush ou paramètre supplémentaire si nécessaire@monsitene pas le définir si inutile

Liste des jobs​

prod:scheduled-backup​

Lance un backup en production

preprod:scheduled-backup​

Lance un backup en préproduction

Les deux jobs tournent sur toute pipeline planifiée du projet. Pour ne sauvegarder qu'un environnement, désactiver l'autre dans la planification, par la variable ENV_PREPROD_DISABLED: "1" (ou ENV_PROD_DISABLED).

Les dumps s'accumulent dans DB_PATH : prévoir le nettoyage des vieux dumps.