Docker¶
La oportunidad¶
En Indap, los procesos de ciclo de vida de software no son perfectos, tienen limitaciones y riesgos asociados que impiden una correcta armonía entre ellos que tiene como origen en:
- Sistemas operativos base diferentes.
- Librerías de terceros no soportadas
- Disponibilidad de gestores de paquetería de software (PEAR, por ejemplo)
- Mala comunicación con nuestros pares de Infraestructura.
Esto ocasionaba muchas veces que el software que liberábamos no necesariamente funcionase de manera óptima, ya sea por omisión al momento de informar requerimientos adyacentes al desarrollo o porque debido a que se trabajaba en ecosistemas distintos en algunos casos la viabilidad de pre-requisitos no podía ser solventado.
Además se reportó por mucho tiempo que el "servidor dedicado a desarrollo" generaba intermitencias con conexiones a base de datos que impedían el correcto trabajo sobre este.
Prefacio¶
La siguiente guía tiene como objetivo normalizar el proceso de desarrollo de aplicaciones mediante el uso de herramientas de estandarización de procesos.
Herramientas Necesarias¶
- SO
- Windows 7 o superior (Profesional o Superior 64 bits)
- GNU/Linux
- Fedora
- Debian
- OSX
- Aplicativos
- GIT
- Docker CE
- Configuraciones Varias
- Debe tener habilitada la virtualización del equipo
Windows¶
Instalación¶
Se debe crear un nueva en Docker https://hub.docker.com/signup
A continuación se debe descargar la aplicación para Windows desde https://hub.docker.com/editions/community/docker-ce-desktop-windows
Para instalarlo solo basta con doble click y seguir el wizard. (Para que sea exitoso debes tener configurado para que funcione la virtualización)
Árbol de directorios¶
Para los efectos de creación sírvase descargar el árbol de directorio recomendado y los archivos de configuración de servicios desde https://redmine.indap.cl/attachments/download/10764/base.zip
Debe crear un árbol directorios de la siguiente manera- base
- sistemaunico
Configuración de Acceso Único¶
En nuestra carpeta de acceso unico traemos nuestro repositorio GIT, abriendo una consola bash allí se ejecutan los siguientes comandos.
git fetch git checkout produccion
Además se debe copiar el archivo config en la carpeta sistemaunico/webdir con el siguiente comando:
cp ./config.php ./sistemaunico/webdir/
Iniciando nuestro entorno Docker¶
Para los efectos de creación sírvase descargar el árbol de directorio recomendado y los archivos de configuración de servicios desde https://redmine.indap.cl/attachments/download/10764/base.zip
Vamos a tener 1 archivo base de configuración para levantar nuestra imagen y nuestro contenedor Docker Dentro de nuestra carpeta "base" (fuera de sistemaunico)
- docker-compose.yml
Una vez que tengamos todo disponible podremos iniciar nuestro servicio vía bash (Donde se encuentre posicionado nuestro docker-compose.yml)
docker-compose.exe up
Una vez termine de descargar las imágenes todo nos dejara 2 contenedores que podremos ocupar para desarrollar (Estarán disponibilizados en localhost).
Para usar el ftp desde FileZilla y otro gestor de ftp, nuestra url será localhost y puerto 21, user suftp y clave sistemaunico (Válido sólo para desarrollo)
Cualquier cambio que hagamos en nuestro aplicativo se verá reflejado sin mayor inconveniente.