🚀 Proceso de Despliegue para Estudiantes

Sistema automatizado con Ansible, Podman y Nginx

👨‍🎓 Estudiante

Desarrolla y despliega aplicaciones

👨‍💻 Administrador

Gestiona infraestructura y configuración

1
Solicitud y Configuración de Credenciales SSH
1
Solicitar Acceso
El estudiante solicita credenciales SSH para acceder al servidor de despliegue
2
Crear Usuario y SSH
Crear usuario, generar par de claves SSH y configurar authorized_keys
ssh-keygen -t rsa -b 4096
cat public_key >> ~/.ssh/authorized_keys
⬇️
2
Conexión SSH al Servidor
3
Conectar vía SSH
Usar la clave privada para conectarse al servidor con Podman configurado
ssh -i private_key user@server_ip
4
Servidor Configurado
Servidor con Podman, podman-compose instalado y configurado via main.yml
ansible-playbook main.yml
⬇️
3
Desarrollo y Subida de Aplicación
5
Preparar Aplicación
Desarrollar aplicación y crear archivo podmanfile.yml (docker-compose.yml)
version: '3'
services:
  app:
    build: .
    ports:
      - "3000:3000"
6
Subir al Servidor
Transferir código fuente y archivo de configuración al servidor (Lo puede hacer mediante SCP o Git)
scp -r app/ user@server:/home/user/
git clone repository
⬇️
4
Construcción y Despliegue con Podman
7
Construir Imagen
Construir la imagen del contenedor usando Podman
podman build -t mi_app .
8
Ejecutar Contenedor
Desplegar usando podman-compose y verificar funcionamiento local
podman-compose up -d
podman ps
curl localhost:{puerto}
⬇️
5
Exposición Pública con Nginx y SSL
9
Solicitar Publicación
Contactar al administrador con el dominio deseado y puerto de la aplicación
10
Ejecutar deploy.yml
Configurar Nginx como proxy reverso y SSL automático con Certbot
ansible-playbook deploy.yml
# Digitar dominio y puerto
🎉 ¡Aplicación desplegada exitosamente y accesible públicamente! 🎉

La aplicación está disponible en https://[nombreDominio].com con certificado SSL