Despliegue de aplicaciones con github y heroku
Cuando varias personas trabajan en crear o mantener productos de software, a veces necesitan actualizar los mismos ficheros de código. Lo que antiguamente se hacía erá poner un repositorio (lugar para almacenar los archivos de código) utilizando un servidor FTP o un programa como Subversion que nos permite llevar el control de cambios que hacen los programadores en los archivos. El problema es, que tanto en el caso del FTP como en el caso de Subversion, todos los cambios se realizan en este repositorio central, lo que podría dar lugar a que se perdiesen los datos en caso de que ocurriese algún accidente imprevisto. Para evitar este problema, Linus Tolvards creo el programa git que, al igual que Subversion lleva el control de los cambios realizados en los archivos de código, pero además permite que cada usuario tenga una copia en local de todos los archivos. Eliminando de esta forma el punto único de fallo (Single Point of Failure) que tenían los sistemas anteriores. Git es un un programa que nos ayuda, no sólo a llevar un control de los cambios o nuevas versiones de un producto de software, sino que además permite que cada usuario tenga una copia del código fuente. El programa git viene instalado por defecto en Kali Linux. Git nos permite trabajar en local o con un repositorio remoto. La mayoría de repositorios remotos, están alojados en:
Para el propósito de este tutorial vamos a crear una cuenta en github. Para ello, nos registramos en github:
Seleccionamos el plan gratuito (Unlimited public repositories for free) y pulsamos el botón continue:
completamos la encuesta y pulsamos el botón Submit:
Para comprobar que funciona, vamos a crear un proyecto pulsando el botón Start a project:
primero nos dirá que veriquemos la cuenta de email:
Verificamos la cuenta pulsando en el enlace del correo que nos ha llegado:
Ahora si podemos crear el proyecto. Seleccionamos las opciones como el nombre de proyecto o tipo de licencia y después pulsamos el botón Create Repository:
el repositorio estará creado:
una vez lo tenemos creado, vamos a hacer cambios en el repositorio usando git desde Kali Linux. Para ello, copiamos la URL para clonarlo:
clonamos el repositorio con el comando git clone:
y veremos que el repositorio se ha clonado:
Para hacer cambios en el repositorio, primero debemos configurar git. Para ello, le indicamos la cuenta de correo con la que nos hemos registrado usando el comando git config:
y el nombre de usuario:
una vez configurado, accedemos a la carpeta del repositorio:
creamos un fichero de prueba:
y veremos que si ejecutamos el comando git status, se da cuenta que hemos creado este fichero en la carpeta del repositorio:
para añadirlo al proyecto, utilizamos el comando git add:
ahora si ejecutamos git status de nuevo, veremos que a los cambios que comencemos a hacer en este fichero, git les hará un seguimiento:
Una vez realicemos los cambios, para añadir el fichero con los cambios al repositorio, ejecutaremos el commando git commit:
Para subir los cambios realizados al repositorio en github usaremos el comando git push. Tendremos que indicarle el nombre de usuario:
y la contraseña:
Veremos que el fichero se ha subido correctamente:
Para ampliar conocimientos en cómo usar git, podemos comenzar por este tutorial interactivo gratuito que nos ofrecen desde code school:
Una vez que vemos visto rápidamente cómo funciona git y github, vamos a ver como integrar heroku. Heroku nos va a permitir desplegar aplicaciones en la nube (el ordenador de otra persona) directamente desde github de forma gratuita. Funciona con los lenguajes y frameworks de desarrollo más populares como: php, ruby on rails, django, scala, go, nodejs, etc. Para usarlo, accedemos a la web y pulsamos el botón Sign Up for free:
Completamos el formulario y pulsamos el botón CREATE FREE ACCOUNT:
Como ocurría en github, nos solicitará que confirmemos la cuenta de email:
La confirmamos pulsando en el enlace que nos ha llegado al correo:
Una vez confirmado el email, nos pedirá que pongamos una contraseña. Después pulsamos el botón:
y ya tenemos nuestra cuenta de heroku creada. El último paso es pulsar el boton CLICK HERE TO PROCEED:
y ya podremos ver la página principal de heroku:
Vamos a desplegar nuestra primera aplicación en heroku. Por ejemplo, vamos a desplegar juice shop de OWASP. Para ello, accedemos al repositorio de Juice Shop en Github y pulsamos el botón fork:
para copiar el repositorio a nuestra cuenta:
ahora el repositorio estará en nuestra cuenta de Github:
hago, lo mismo de antes, lo clono desde kali. Para ello, copio la URL de clonado:
y lo clono con git clone:
Para usar heroku desde la línea de comandos debemos instalarlo. Las instrucciones de instalación están aquí pero básicamente es ejecutar el comando:
wget -qO- https://cli-assets.heroku.com/install-ubuntu.sh | sh
Una vez instalado, ejecutamos el comando heroku login:
para configurar nuestras credenciales de heroku:
accedemos al repositorio clonado:
y ejecutamos el comando heroku create para crear una aplicación en heroku:
Podemos usar el comando git remote para verificar que se ha añadido el repositorio remoto de heroku:
Esto quiere decir que ahora podemos subir la aplicación al repositorio de heroku usando el comando:
git push heroku master
Una vez termine, nos indicará si el despliegue de la aplicación ha sido correcto y la url. En este caso ha sido correcto:
Para abrir la aplicación, o bien copiamos la URL de la aplicación y la pegamos en el navegador o bien ejecutamos el comando heroku open:
y veremos que la aplicación se ha desplegado correctamente: