Public | Automated Build

Last pushed: 2 years ago
Short Description
Aplicación Bares desarrollada en Django para cumplir con los objetivos en IV y DAI
Full Description

Barchecker- Granada

####Antonio Miguel Pozo Cámara

#####Curso 2015-2016. Universidad de Granada.

Este repositorio aloja la app final para la asignatura Desarrollo de Aplicaciones para Internet. Dicha aplicación será el objeto del despliegue requerido para la asignatura Infraestructura Virtual.

Introducción

Este proyecto consiste en crear la infraestructura virtual para dar soporte a una aplicación web.

La aplicación está destinada a los bares. El portal cuenta con un listado de bares junto a una gráfica con los bares más visitados. Dentro de cada bar tenemos información de este, como la localización por medio de un plugin que muestra el mapa y un listado de sus tapas. Cada tapa tiene un nº de votos que podemos ir aumentando al votarlas.
Esta web permite realizar el registro de usuario y la identificación de los mismos.

Infraestructura

Cuenta con un servidor principal. Es el que provee la aplicación web y da soporte a la base de datos de la misma.

La aplicación se ha desplegado en:

Herramientas

  • La aplicación está desarrollada en el framework de Python, Django.
  • La base de datos es SQLite tanto en la infraestructura como la plataforma de servicio.
  • Snap-CI y Travis para la integración contínua
  • Docker para entorno de pruebas
  • Heroku como PaaS
  • Azure como IaaS
  • Fabric para el despliegue automático.

El archivo manage.py permite realizar operaciones de control, ejecución o test. También se ha implementado un Makefile que permite la interacción con la aplicación.

Para la instalación de dependencias se usa el archivo requirements.txt.

###Herramienta de construcción : Makefile

Vaya aquí para ver el contenido del Makefile.

##Desarrollo basado en pruebas

Los test de la aplicación se encuentran en el archivo tests.py. Se pueden ejecutar haciendo make test.

##Integración contínua

Para la integración continua de la aplicación he utilizado Travis que permite soporte para Python y me permite trabajar directamente con este repositorio de github de forma fácil.

También he utlizado Snap CI para que realice la integración continua junto al despliegue en heroku.

Puede ver la documentación asociada a esta sección en: integracionContinua.

##Despliegue en un PaaS - Heroku

Puede ver más detallada la documentación de esta sección en el documento dedicado a ello: despliegueHeroku.

##Entorno de Pruebas: Docker

Puede ver la documentación asociada a la sección en entornoDocker.
Puede ejecutar las reglas para docker haciendo make getDocker && make runDocker o haciendo uso de la herramienta de despliegue remoto Fabric (fabfile.py)

##Despliegue en un IaaS - Azure

Para el despliegue en un IaaS, he usado Azure. Puede encontrar la documentación de esta sección en despliegueAzure.

Provisiona la máquina de azure y lanza la aplicación haciendo:

make azure

Vaya a la aplicación en la IaaS

##Despliegue automático: Fabric

Mi proyecto está desarrollado en Django, por lo que la herramienta apropiada para desplegar remótamente mi aplicación es Fabric.

Puede ver la documentación asociada a ésta sección en remotedeployFabric.

Docker Pull Command
Owner
apozo
Source Repository

Comments (0)