Proyecto de React basado en contenedores Docker
Estas instrucciones porporcionan una copia del proyecto en funcionamiento en su máquina local, para fines de desarrollo y prueba.
Se necesita tener instalado Docker y Make.
El proyecto está estructurado de la siguiente forma:
- Carpetas y ficheros relacionados con dockers para desarrollo.
- Carpetas y ficheros relacionados con dockers de despliegue.
- Resto de ficheros.
Son las carpetas y ficheros relacionados con Docker a usar por los programadores para su trabajo diario.
Éstas son:
docker/develop/
: carpeta que contiene la imagen de docker que se usa para desarrollar la aplicación.scripts/
: los siguientes scripts son lo que se usan para el desarrollo de la aplicación:cleanup.sh
: limpia el docker usado para desarrollo.npm_cmd.sh
: lanza un comando de Npm dentro del docker de desarrollo.start.sh
: compila el proyecto usando Maven.
Son las carpetas y ficheros relacionados con Docker a usar por los despliegues.
Éstas son:
Makefile
: fichero makefile que contiene todos los comandos a ejecutar para generar el docker de despliegue y su subida a un repositorio de contenedores.config.env
: configuración de las variables de entorno a usar por el docker de despliegue.deploy.env
: configuración de las variables de entorno a usar por docker para la genración del docker de despliegue y subida al repositorio de contenedores.
docker/
: carpeta que contiene la imagen de docker que se usa para desarrollar la aplicación.scripts/
: los siguientes scripts son lo que se usan por el Makefile para poder realizar su trabajo:app_name.sh
: obtiene el nombre de la aplicación a partir de los datos del ficheropackage.json
.version.sh
: obtiene la versión de la aplicación a partir de los datos del ficheropackage.json
.
El resto de ficheros del proyecto son los ficheros referidos al código de dicho proyecto.
Una vez clonado éste proyecto los pasos a seguir para trabajar en el proyecto son:
- Arrancar el entorno en background y mostrar los logs del contenedor
./scripts/start.sh
El cancelar la ejecución para el entorno, es una limitación de la librería react-scripts
.
- Si se quiere ejecutar cualquier comando de npm no sea
start
:
./scripts/npm_cmd.sh <comando con parámetros>
Limpiar el sistema:
./scripts/cleanup.sh
Para la generación del contenedor y la subida de imágenes se ha creado un fichero Makefile
, el cual tiene todos los pasos para poder generar el docker y subirlo a un repositorio de imágenes.
Los comandos básicos para trabajar con el fichero makefile son:
make
omake help
: muestra la ayuda, con la lista completa de comandos.make build
: genera la imagen de docker a subir al repostorio.make test
: ejecuta la imagen de docker, lanzando los tests que tiene implementados en la aplicación contenida en la imagen docker.make publish
: publica la imagen de docker en un repositorio.