1 Sauvegarder Jenkins avec Restic/RClone
wpetit edited this page 2020-06-18 10:39:07 +02:00

Sauvegarder Jenkins avec ThinBackup/Restic/Rclone

Le plugin Jenkins ThinBackup permet d'effectuer des sauvegardes automatiques d'une instance Jenkins à intervalles réguliers. Ces sauvegardes peuvent être facilement exportées via les outils restic et rclone

  1. Installer et configurer le plugin ThinBackup (via "Administrer Jenkins" -> "Gestion des plugins" puis une fois installé, dans "Administrer Jenkins" -> "ThinBackup") sur votre instance Jenkins.

    Dans les exemples suivants, nous partirons du principe que vous avez configurés des sauvegardes journalières complètes dans le répertoire /var/jenkins/backups.

  2. Installer restic sur la machine. Soit par le gestionnaire de paquet si il est disponible, soit directement en téléchargeant les binaires sur le site officiel.

  3. Installer rclone. Soit par le gestionnaire de paquet si il est disponible, soit directement en téléchargeant les binaires sur le site officiel.

  4. Suivre la documentation officielle de restic afin de créer un nouveau dépôt de sauvegarde. Via rclone, il est possible d'exporter le dépôt sur un espace de stockage distant, par exemple WebDAV (Owncloud propose par exemple un connecteur de ce type).

  5. Vous pouvez utiliser le script suivant comme exemple pour définir une tâche journalière de sauvegarde:

    #!/bin/sh
    
    export RESTIC_PASSWORD='<password>' 
    
    # Sauvegarde du répertoire /var/jenkins/backups dans le dépôt de sauvegarde <repo>
    restic -r rclone:<repo>:backup/jenkins backup /var/jenkins/backups
    
    # Rotation des sauvegardes, on conserve les 7 dernières sauvegardes
    restic -r rclone:<repo>:backup/jenkins forget --keep-last 7 --prune
    

Sur Alpine, ce script peut par exemple être place dans le répertoire /etc/periodic/daily pour être exécuté automatiquement toutes les nuits par le service "cron".