-
Notifications
You must be signed in to change notification settings - Fork 5
Desplegar el entorno de desarrollo
¿Que es docker y dockerhub?
La definición oficial traducida textualmente es algo así: Docker es una plataforma Open Source para que desarrolladores y Sysadmins puedan construir, cargar, y ejecutar aplicaciones. Consiste en un entorno de ejecución ligero, portable y herramientas de empaquetado […] como resultado se puede implementar más rápido y ejecutar la misma aplicación sin cambios tanto en portátiles, Centros de Datos o máquinas virtuales de cualquier Cloud.
Resumiendo un poco esto, Docker es una tecnología de contenedores que nos permite una virtualización ligera para empaquetar entornos, la configuración del sistema y aplicaciones, que posteriormente podremos desplegar en cualquier otro sistema compatible con este tipo de tecnología.
Nosotros usamos Docker, porque nos permite tener una imagen actualizada con todo lo necesario para comenzar a desarrollar en Google App Engine, con Evenge.
Ventajas que nos ofrece Docker
- Es el más ligero.
- Son los contenedores para virtualización con mejor rendimiento.
- Son compatibles con una gran variedad de sistemas operativos.
- Tiene una manera muy sencilla de poder instalarse.
- Una ventaja muy importante, es que podemos usar contenedores ya creados por otras personas.
Con descargar y ejecutar el contenedor con el Docker, ya tenemos:
- Ubuntu 14.04
- Python y todas las tools necesarias
- Jinja y WebApp2 para la ejecución en local de nuestro servidor de pruebas
- Nuestro SDK de Google App Engine configurado con nuestro proyecto Evenge que lanzará nuestro servidor de pruebas y su sistema de integración continua ya incorporado en la aplicación.
- El repositorio Git clonado y con una rama con el nombre de usuario para empezar a trabajar.
En resumen, todo lo necesario para empezar a colaborar con el proyecto.
- Clonamos nuestro repositorio de Github
- Entramos en la carpeta despliege y ejecutamos en modo root el script EvengeSDK.sh.
Esto instalará:
- Docker y las dependencias necesarias para su funcionamiento
apt-get update apt-get install -y docker.io source /etc/bash_completion.d/docker.io [ -e /usr/lib/apt/methods/https ] || { apt-get update apt-get install -y apt-transport-https } apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 sh -c "echo deb https://get.docker.com/ubuntu docker main\
/etc/apt/sources.list.d/docker.list" apt-get update apt-get install -y lxc-docker
2. La imagen producida con el Dockerfile y ya subida a [DockerHub](https://registry.hub.docker.com/u/ivanortegaalba/evenge/)
```
docker pull ivanortegaalba/evenge
docker run -t -i ivanortegaalba/evenge /bin/bash
```
3. Arrancará directamente el Docker con nuestra imagen, y... ¡A colaborar!
## ¿Como hemos creado el Docker? Los Dockerfiles
Nuestro Docker ha sido creado a partir de un archivo con las instrucciones necesarias para que Docker sepa que ha de instalar en nuestro contenedor, y basandose en que imagen. Nosotros hemos usado ubuntu en su última versión y hemos instalado los siguientes programas:
[Dockerfile](https://github.com/evenge/EVENGE/blob/master/despliegue/Dockerfile)
FROM ubuntu:latest MAINTAINER Evenge [email protected]
#Instala dependencias de python RUN apt-get update && apt-get install -y python RUN apt-get install -y python-setuptools RUN easy_install pip RUN apt-get install -y python-dev build-essential
#Instala frameworks RUN pip install webapp2 RUN pip install jinja2
RUN apt-get install -y wget
RUN wget https://storage.googleapis.com/appengine-sdks/featured/google_appengine_1.9.17.zip --no-check-certificate
RUN apt-get install -y zip
RUN unzip google_appengine_1.9.17.zip
#Instalamos el google-cloud-sdk y configuramos el proyecto Evenge
RUN curl -sSL https://sdk.cloud.google.com | bash
RUN apt-get install -y git RUN git clone https://github.com/evenge/EVENGE.git RUN cd EVENGE RUN git branch -b $USER
#La integración continua corre de la mano de GAE, donde el SDK nos permite despliegue y pruebas en local
[Aquí tenemos una referencia de como construir Dockerfiles](https://docs.docker.com/reference/builder/)
Una captura del DockerHub
![docker](http://i59.tinypic.com/35mp028.png)
[Enlace al repositorio de DockerHub](https://registry.hub.docker.com/u/ivanortegaalba/evenge/)
Colabora con este proyecto a través de GitHub