BitBucket es una plataforma de repositorios en el cloud, como git, que te permite mantener el control de versiones en el código fuente y que de forma gratuita te ofrece un espacio privado (a diferencia de git).
Darse de alta es un procedimiento muy sencillo que no vamos a cubrir aquí.
Lo que vamos a hacer es partir de una cuenta existente, y habilitar la conexión por SSH con un par de claves pública/privada para no tener que introducir en password cada vez que subimos cambios al repositorio o nos actualizamos del mismo.
Comprobar que tenemos SSH instalado
miusuario$ ssh -v
miusuario$ sudo apt-get install openssh-client
Crear una identidad por defecto
miusuario$ ssh-keygen
- id_rsa: clave privada
- id_rsa.pub: clave pública (la que podemos compartir con BitBucket).
miusuario$ ls ~/.ssh
Iniciar ssh-agent y cargar las claves
miusuario$ ps -e | grep [s]sh-agent
miusuario$ ssh-agent /bin/bash
bash$ ssh-add ~/.ssh/id_rsa
Identity added: /Users/miusuario/.ssh/id_rsa (/Users/miusuario/.ssh/id_rsa)
Podemos comprobar las claves que está manejando, con el siguiente comando:
bash$ ssh-add -l
2048 7a:9c:b2:9c:8e:4e:f4:af:de:70:77:b9:52:fd:44:97 /Users/miusuario/.ssh/id_rsa (RSA)
Habilitar compresión SSH para mercurial
ssh = ssh -C
De forma que debería quedarnos un archivo con un contenido similar a:
[ui]username = Mi Usuario
ssh = ssh -C
Instalar la clave pública en mi repositorio de bitbucket
- Abrimos la web de bitbucket y abrimos el menú desplegable al lado del icono con forma de usuario (barra superior, lateral derecho).
- Seleccionamos Administrar cuenta
- Seleccionamos claves SSH en el menu lateral que ha aparecido
- Seleccionamos Añadir clave, le damos un nombre para identificarla, y pegamos el contenido del archivo de clave pública que hemos creado anteriormente
- Podemos ver el contenido a copiar con el siguiente comando:
miusuario$ cat ~/.ssh/id_rsa.pub - Una vez copiado el contenido, seleccionamos Add Key
Cambiar el protocolo del repositorio a SSH
miusuario$ vim miRepositorio/.hg/hgrc
[paths]default = https://bitbucket.org/miusuariobitbucket/mirepo
[paths]default = ssh://hg@bitbucket.org/miusuariobitbucket/mirepo