Git Server corriendo en Azure IaaS (Ubuntu!)

Hola a todos! Hoy vamos a ver como hacer para crear tu repositorio GIT en Microsoft Azure con algunos simples pasos. No necesitas ser un experto en tecnología para seguir esta guía ya que Azure ha automatizado prácticamente todos los proceso que no sean de customización propia de tu sitio.

Si aun no tenés una cuenta en Microsoft Azure, te dejo algunas formas de empezar gratis:

 

Derechos de autor

Esta guía fue 100% creada por Branko Straub, quien forma parte de nuestro equipo de Microsoft Student Partners en Argentina y Uruguay. Les recomiendo que pasen por su blog, ya que frecuentemente sube artículos super interesantes sobre Azure y desarrollo de aplicaciones móviles, entre otros tema.

 

Comentarios antes de empezar

Antes de montar tu servidor, vas a necesitar decidir tamaños de máquina y data center donde hostear tu aplicación. Para lo primero, te recomiendo este artículo. Para lo segundo, te recomiendo leas este otro.

 

Configuración en Azure

image

Lo primero que vamos a hacer es crear nuestra VM, en este tutorial vamos a optar por un Ubuntu 12.04 LTS (Long Term Support)

image

Completamos los datos requeridos para el loggin, nombre de la maquina, tamaño, etc.

image

 

Configuración en la VM

Una vez que se termino de crear la maquina virtual, en nuestra pc bajamos el PuTTY para conectarnos remotamente a la terminal de nuestra VM corriendo Ubuntu.
https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

clip_image002

Una vez que lo bajamos, lo abrimos y compleamos la ip con nuestra direccion de DNS que previamente elegimos:

image 

Si hicimos todo bien nos saldrá una advertencia a la cual le damos “Yes” y proseguimos.

clip_image002[12]

 

Ahora nos va pedir nuestro usuario y luego la clave, en mi caso “azureuser” y mi clave [Símbolo]

clip_image002[14]

Una vez que nos conectamos exitosamente, vamos a introducir los siguientes comandos en este orden:
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install git-core

Si alguno de estos les pide confirmación ponen “Y” y luego enter.

clip_image002[16]

clip_image002[18]

Una vez que ejecutamos esos tres comandos que básicamente lo que hacen es actualizar el sistema y luego bajar el GIT Server, lo siguiente que hacemos es ejecutar los siguientes:
sudo –s
adduser git (les va a pedir datos del usuario completenlos)
su azureuser (nos volvemos a loggear como azureuser)

clip_image002[20]

clip_image002[22]

Una vez que hicimos eso, ahora proseguimos con los siguientes:
mkdir ~/repositories
sudo apt-get install acl
chmod 700 ~/repositories
sudo chown git:git ~/repositories

clip_image002[24]

Ahora seguimos con estos:

getfacl ~/repositories
sudo ln -s /home/$USER/repositories /git
ls -al /git

Cuando ya terminamos con todos estos comandos el siguiente paso es bajar el PuTTY Key Generator que va servir para autentificar nuestra conexión a la VM y además para luego validar la conexión a nuestro repo de GIT.

https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

clip_image002[26]

Lo abrimos, le damos generar:

clip_image002[28]

Nos va a pedir que movamos el mouse para generar la clave de manera aleatoria:

clip_image002[30]

Ingresamos una clave, y luego guardamos la clave privada:

clip_image002[32]

La clave privada la guardamos en el escritorio y ahora copiamos la publica:

clip_image002[34]

Volvemos a nuestra conexión a la terminal remota y ahora vamos a ejecutar lo siguiente

  • sudo –s

  • mkdir /home/git/.ssh

  • echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAp7c7YmVnqeHAtiDBmpoJ3TdlH0RzgXzVu89FNN5qbqgZtnHAmqmTWqtn2lrwcuZncAAdQZ7zjW6KI/7W3TYVu8WsFQbfm5puKq0jNGyPNs0IdukDmVnBNniHaC/cXwmgNbw12puuzFFKXlICIiZ9NDUWG9+3m8JkxaZc6jZajj6ZVZqA/K6HdXX3aUD38jmQmT7J5eleAskZa2H/st6gmBBI7kUranhJuvBBhiQaNQyRRD4CRGHrAEMzy1Zxh5d5Y/4nFHjxldS+tDmTG6Ki4g0MZwUCa8s7cH7ZGWgAlGNd+UcWUsRb4cU6GMLVTeHCwb81Odkof7rdkOAC7MQVGQ== rsa-key-20141018" >> /home/git/.ssh/authorized_keys

*Reemplazando lo que está en negrita por su propia clave pública.

image

Desconectamos nuestra sesión de PuTTY para ahora abrir una nueva, pero ahora vamos a opciones avanzadas, luego SSH y por ultimo Auth, ahora elegirmos Browse y seleccionamos la clave privada que previamente habíamos exportado:

clip_image002[36]

Una vez que hicimos eso vamos a ver que ahora nos loggeamos como “git”, la clave que nos va a pedir es la que usamos cuando generamos la clave pública con el PuTTY Key Generator:

clip_image002[38]

Por ultimo corremos los siguientes comandos:
cd /git
git init --bare myrepo.git

Configuración en tu PC

Instalamos los siguientes programas:
https://msysgit.github.io/

https://code.google.com/p/tortoisegit/wiki/Download?tm=2

clip_image002[40]

clip_image002[42]

Ej: una vez que instalamos TortoiseSVN hacemos click derecho en una carpeta y ponemos gitClone

image

Ponemos nuestro DNS de Azure y elegimos nuestra clave privada que previamente generamos:

clip_image002[44]

A continuación nos va a pedir la clave que elegimos para dicha Key y por último el usuario: elegimos git

image

clip_image002[46]

Gracias a todos y espero que les haya sido útil.
Cualquier duda, consulta o comentario será más que bienvenido.