Para el despliegue en el DIINF se utilizará únicamente el template de Ansible incluido en el repositorio deployment-kit.
Esto se debe a las limitaciones de red y puertos de las máquinas virtuales del DIINF, lo que impide utilizar herramientas como GitHub Actions para el despliegue remoto automatizado.
Estar físicamente en los laboratorios del DIINF o poseer una VPN
Usuario con acceso a una VM
Instalar Ansible en la VM (sudo apt install ansible)
Instalar Git en la VM (sudo apt install git)
Pasos para desplegar
1
Copia el template de Ansible
Ve al repositorio deployment-kit e ingresa a la carpeta templates.
Copia la carpeta ansible en tu repositorio, dentro del directorio de despliegue.
2
Configura el template
Revisa la sección Configuración para adaptar los archivos a tu proyecto.
Si necesitas ejemplos de cómo pueden ser configuradas las plantillas, puedes revisar el directorio deployments dentro del repositorio deployment-kit. Ahí encontrarás aplicaciones reales donde se han aplicado las plantillas.
3
Clona el repositorio de trabajo en tu máquina local
Una vez que hayas realizado el commit con tu configuración adaptada, clona el repositorio en la máquina virtual donde se realizará el despliegue.
gitclonehttps://github.com/tu-org/tu-repo.git
4
Copia el directorio de despliegue a una ubicación ordenada
Para mantener una estructura limpia y evitar errores, se recomienda copiar el directorio de despliegue fuera del repositorio principal, por ejemplo al home de la VM.
sudocp-r~/tu-repo/directorio_de_despliegue/~/
Esta práctica es altamente recomendada cuando no usas imágenes Docker preconstruidas (Docker Hub), y necesitas clonar los repositorios y construir las imágenes localmente. Esto evita tener repositorios dentro de otros repositorios, lo cual puede generar problemas de gestión y rutas incorrectas.
5
Ingresa al directorio de despliegue
cd~/directorio_de_despliegue
6
Crea el archivo .env
Crea el arhivo .env dentro de tu directorio principal de despliegue y define las variables necesarias.
touch.envnano.env
Si existe el archivo .env.example en el directorio de despliegue, puedes correr los siguientes comandos para definir las variables que necesites.
cp.env.example.envnano.env
En las máquinas virtuales del DIINF, la ruta del home del usuario suele seguir esta estructura: /home/DIINF/usuario/.
Por lo tanto, si usas clonar repositorios como modo de despliegue, asegúrate de que las rutas en tu archivo .env coincidan con el path real, es decir: APP_PATH: /home/DIINF/usuario/directorio_de_despliegue/app.
Si todo ha funcionado correctamente, deberías poder acceder a tu aplicación desde el navegador en el dominio de la máquina virtual correspondiente (ejemplo: https://felucia.diinf.usach.cl/).