El proyecto consiste en crear una tienda online con su Backend, frontend y además que se conecte a un banco para hacer los pagos. De forma que cada tienda se conectará al banco del siguiente grupo.
El proyecto ha desarrollar va a ser el siguiente
Para poder automatizar el despliegue , lo primero es tener una estructura definida de nuestro proyecto y de nuestro servidor. Durante el curso vamos a usar este esquema tanto en este módulo como en los otros módulos. El esquema he intentado que sea lo mas fiel posible a la realidad de las empresas aunque he intentado simplificarlo.
mi-proyecto ├─src ├─docs ├─disenyo_grafico ├─database ├─builder │ └─build.sh └─target o dist
src:Donde está todo el código fuente de la aplicacióndocs:Documentación de la aplicación. Es la documentación con los diagramas UML, el JavaDoc, etc.disenyo_grafico:Donde están las imágenes en formato Photshop o similares que estamos visualmente diseñando database:Ficheros ".sql" de creación de la base de datos, etc. Es todo lo necesario para tener la base de datos preparada desde cero. Incluye insertar datos que siempre deben estar , como por ejemplo códigos de provincias. Pero NO las inserciones de los datos del usuario.builder:Scripts para compilar la aplicación. Tendremos el fichero build.sh que creara la versión compilada en target o disttarget o dist:El código "compilado" de la aplicación. Estará el JAR o el HTML de nuestra aplicación.
La carpeta target o dist es la mas importante para el módulo de despliegue ya que en ella estará el proyecto tal y como se va a desplegar.
En un proyecto Java la carpeta src contiene las clases *.java mientras que en target o dist tenemos en jar con las clases compiladas y empaquetas en un único fichero.
En un proyecto Angular podemos pensar que debe ser únicamente una copia de la carpeta "src" ya que es código JavaScript pero si que se pueden hacer muchos cambios en esta carpeta.
Veamos ahora los repositorios de Git que vamos a tener:
tienda-back : El API de la tienda en Javatienda-front: El interfaz de usuario en Angular de los clientes de la tiendatienda-adm-front: El interfaz de usuario en Angular del administrador de la tiendabanco-back: El API del banco en Javadesplegar-proyecto: El repositorio con los Scripts para desplegar. Es donde se usa Docker o la tecnología que se vaya a usar.
El repositorio desplegar-proyecto tendrá una estructura distinta ya que no es un proyecto de desarrollo de código sino únicamente para desplegar.
En el raíz del proyecto tendremos el fichero deploy.sh que desplegará todos los repositorios:
tienda-back : El API de la tienda en Javatienda-front: El interfaz de usuario en Angular de los clientestienda-adm-front: El interfaz de usuario en Angular para los administradores de la tiendabanco-back: El API del banco en Java===== Servidores y dominios =====
El proyecto va a estar en 2 servidores:
Cada uno de esos servidores contendrá los contenedores que necesite cada proyecto.
Desde el centro es posible acceder a cada uno de los 2 servidores.
===== Proxmox =====
Para acceder al proxmox se usan las URL: