Ya es casi un standar que las aplicaciones backend y web en general como servicios; se desplieguen usando contenedores. Aunque manualmente podemos usar el comando docker run, y en grandes producciones usar Kubernetes, para sitios que están comenzando es probable que un docker-compose.yaml sea conveniente.
CI/CD
un docker-compose.yaml nos ofrece desplegar varios contenedores sin problema, pero tiene la limitante de no tener una api para que podamos notificarle que hay cambios, por lo que debemos entrar a la terminal para hacer un pull de la imagen y luego bajar y volver a lanzar el contenedor.
Es aquí donde CapRover tiene un lugar, porque desde github actions podemos construir la nueva imagen, guardarla en Github Container Registry e inmediatamente desplegarla en CapRover.
En la documentación están los pasos, pero aquí te lo explicaré con un poco más de detalle:
Instalación de CapRover
Creamos una instancia que tenga la capacidad de correr nuestras apps, domemos en cuenta que se está usando docker. Para este ejemplo usaremos una instancia AWS de la familia R. Esta familia está optimizada para memoria y CPU.
Abrir Puertos
Docker Swarm
Aunque este proyecto está basado en Docker Swarm, muchos no lo recomiendan. Pero para proyectos pequeños y/o personales me parece suficientemente robusto y sobre todo útil.
Además, Kubernetes es muy caro para proyectos pequeños que no están pensados para escalar y/o no tienen el presupuesto.
Deja una respuesta