Bitbucket: Crear una copia de seguridad local de los repositorios de Bitbucket Cloud

En esta entrada voy a explicaros como podemos realizar una copia de seguridad local de los repositorios que se encuentren almacenados en Bitbucket Cloud.

Para ello utilizaremos la herramienta gratuita SCM Backup que es multiplataforma al estar desarrollada en .NET core. Esta plataforma nos permitirá ejecutarla tanto en Windows, Linux como en MacOS aunque el propio desarrollador indica que sólo está testada bajo Windows. Para este tutorial realizaremos la instalación y configuración en una máquina con Windows 10.

Requisitos

  • Máquina con Windows, Linux o MacOS
  • Git instalado. Sino lo tienes puedes descargarlo desde su página oficial.
  • Net core runtime 2.1.13. En caso de no disponer de este runtime podremos descargarlo desde su página oficial.

Instalación SCM Backup

En primer lugar nos descargaremos la última versión disponible desde el repositorio oficial de la aplicación.

En el momento de escribir esta entrada la última versión disponible es la 1.2.1

Descomprimimos el fichero .zip que nos hemos descargado.

Configuración Bitbucket Cloud

Para poder realizar nuestras copias de seguridad mediante SCM Backup tendremos que crear una “App Password” para permitir la comunicación entre la aplicación y nuestros repositorios. Sin esto la aplicación sólo podrá realizar copias de aquellos repositorios que tengamos marcados como públicos.

Para realizar copias de repositorios privados necesitaremos lo siguiente:

  • Backup de repositorios de usuario: Necesitaremos autentificarnos con ese usuario.
  • Backup de repositorios de equipos: Neceistaremos autentificarnos con un usuario que disponga de los permisos necesarios en los distintos repositorios de los que queremos realizar copia de seguridad.

En primer lugar accederemos a Bitbucket mediante nuestro navegador y nos dirigiremos a las opciones de Bitbucket.

Seleccionamos “App passwords”.

Creamos una “App password”.

Marcamos las siguientes opciones:

  • Account: Read
  • Repositories: Read
  • Issues: Read
  • Wikis: Read and Write

Pulsamos en create para crear nuestra “App password”.

Tal y como pulsamos el botón create nos aparecerá una ventana emergente con la clave que necesitaremos más adelante para la configuración de SCM Backup. Es muy importante que copies esta clave ya que cuando cerremos la ventana no podremos volver a consultarla.

Configuración SCM Backup

Editamos con el bloc de notas o con alguna aplicación similar (en mi caso utilizo Notepad++) el fichero settings.yml

Modificaremos los siguientes parámetros:

  • localFolder: Aquí le indicaremos a la aplicación la ubicación donde queremos que se guarden las copias de seguridad que realicemos (puede ser una ruta de red).
  • waitSecondsOnError: Este parámetro le indica a la aplicación el tiempo que tiene que esperar cuando se produce un error antes de cerrar la aplicación.
  • Email: En el caso de querer recibir notificaciones tendremos que descomentar las líneas que se encuentran dentro del grupo email y configurar los distintos parámetros en función de nuestro servidor de correos electrónicos.
  • Sources:
    • title: Título de nuestro trabajo de backup.
    • hoster: Pondremos bitbucket
    • type: org
    • name: Nombre de nuestro equipo.
    • authName: Nombre de nuestro usuario.
    • password: Contraseña generada en el apartado “Configuración Bitbucket Cloud”.

Nota: En el caso de disponer de más de un equipo de los que queramos realizar una copia de sus repositorios tendremos que crear una configuración source por cada equipo. Importante poner el guión antes de title.

Esta configuración realizará una copia de seguridad en el directorio definido de todos los repositorios del equipo con nuestro usuario y la contraseña generada en la configuración de Bitbucket Cloud.

Ejecución Manual Backup

Para realizar una copia de seguridad manual simplemente tendremos que irnos al directorio de SCM Backup y ejecutar el fichero ScmBackup.bat

Ejecución Automática Backup

Si queremos ejecutar de manera automática nuestro backup podremos hacerlo utilizando el Programador de Tareas de Windows.

Para ello crearemos una tarea que ejecutará el fichero ScmBackup.bat que podremos encontrar dentro del directorio de SCM Backup.

Es importante, para el correcto funcionamiento, que en el apartado “Iniciar en” pongamos el directorio de SCM Backup.

Espero os haya servido de utilidad.

Deja un comentario