Despliegue automatizado con GitHub Actions y Nanocl

Guía práctica para automatizar despliegues con GitHub Actions y Nanocl: crea pipelines CI/CD, construye y despliega con Docker y Nginx, y aplica buenas prácticas de seguridad y rendimiento.

7 sept 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Aprende a automatizar tu despliegue con GitHub Actions y Nanocl. Esta guía práctica te muestra cómo configurar pipelines CI CD que construyen, prueban y despliegan tu aplicación con esfuerzo mínimo, desde repositorios en GitHub hasta servidores productivos con contenedores, todo manteniendo buenas prácticas de seguridad y rendimiento.

En Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud AWS y Azure, servicios de inteligencia de negocio y Power BI, automatización de procesos y agentes IA. Integramos CI CD con una visión de plataforma para que tus equipos desplieguen más rápido, con menos errores y sin interrumpir el servicio. Si buscas acelerar entregas y estandarizar tu operación, podemos ayudarte con automatización de procesos y con servicios cloud en AWS y Azure.

Requisitos previos para seguir este flujo: cuenta en GitHub, un proyecto contenedorizable como web estática o app web, un servidor dedicado o VPS, un dominio apuntando a ese servidor, Docker instalado en tu equipo y en el servidor, y Nanocl instalado en el servidor. Con esto podrás construir imágenes, probar localmente y desplegar con un archivo de estado declarativo.

Creación de imagen de contenedor para una web estática con Docusaurus. La idea es compilar el proyecto con Node y servir los artefactos con Nginx. La configuración típica de Nginx incluye escucha en el puerto 80, redirección de urls con barra final, compresión gzip, root apuntando a la carpeta de build, página 404 personalizada y try files para resolver rutas amigables. También se recomienda cachear archivos estáticos como css js imágenes fuentes y svg para mejorar el rendimiento.

Dockerfile con multi stage. Fase builder con node 22.11.0 alpine para instalar dependencias con npm install, copiar el código y ejecutar npm run build. Fase final con nginx 1.27.0 alpine slim para copiar el contenido de build a la ruta servida por Nginx y añadir la configuración de servidor. Este enfoque separa dependencias de build de las de ejecución y reduce el peso de la imagen final.

Prueba local de la imagen. Construye con docker build -t mi-imagen . y levanta con docker run -p 8080:80 mi-imagen. Accede a https://localhost:8080 y valida que la versión de producción responde correctamente y sirve los recursos estáticos sin errores.

Configuración de Nanocl. Instálalo en el servidor y, si necesitas acceso remoto a la API, habilita el daemon con certificado autofirmado en el puerto 9943 usando nanocl state apply -fs https://nr.next-hat.com/v0.16/sys/enable-remote-nanocld.yml. Exponer la API sin TLS no es recomendable por motivos de seguridad.

Secrets en GitHub para conexión segura. Crea los secretos NANOCL_HOST con https://tu-dominio:9943, NANOCL_CERT con el contenido del certificado cliente y NANOCL_CERT_KEY con la clave privada. Puedes inspeccionar y copiar estos materiales ejecutando en el servidor nanocl secret inspect cert.client.nanocl.io. Con esto tus workflows podrán autenticarse contra Nanocl sin filtrar credenciales.

Statefile de Nanocl. Es un manifiesto declarativo que define versiones, contenedores y recursos como reglas del proxy público. Un patrón común incluye un arg version para etiquetar la imagen, un cargo con el contenedor que apunta a ghcr o a tu registro y una regla ncproxy que publica el dominio en la red Public, opcionalmente con SSL configurado mediante un secreto de certificados. Coloca el Statefile en la raíz del repositorio para que los workflows lo encuentren fácilmente.

Workflow de build y publicación en GitHub Actions. Al hacer push a la rama master el pipeline ejecuta checkout, configura buildx, inicia sesión en ghcr, extrae versión desde package.json con jq -r .version package.json y construye y empuja la imagen con dos tags latest y la versión. Este control evita sobreescribir etiquetas ya existentes y mantiene un historial claro de releases.

Workflow de despliegue con Nanocl. Una vez completado el build anterior, el job de Deploy instala el cli de Nanocl, lee la versión del package.json y ejecuta nanocl state apply -ys Statefile.yml -- --version VERSION. El job usa las variables de entorno HOST CERT y CERT_KEY provenientes de secrets para firmar la conexión y aplicar cambios sin cortar servicio.

SSL público con Let s Encrypt. Puedes automatizar certificados válidos con nanocl state apply -fs https://nr.next-hat.com/v0.16/sys/certbot.yml -- --email tu-correo --domain tu-dominio. El proxy renovará certificados de forma periódica y servirá tráfico HTTPS en tu dominio.

Buenas prácticas para un pipeline robusto. Versiona artefactos con etiquetas inmutables, activa cachés de build para acelerar tiempos, valida la imagen localmente antes de publicar, usa entornos staging y producción, separa permisos mínimos en secretos y audita los workflows con revisiones de seguridad. En Q2BSTUDIO integramos CI CD con infraestructura como código, observabilidad, escaneo de vulnerabilidades y hardening, reforzando ciberseguridad y cumplimiento normativo. Si necesitas pentesting, gestión de identidades, SAST o DAST, nuestro equipo de ciberseguridad puede ayudarte a elevar tu postura defensiva.

Conclusión. Con GitHub Actions y Nanocl obtienes despliegues repetibles, rápidos y confiables, idóneos para productos de software a medida y aplicaciones a medida que exigen resiliencia y time to market corto. Si además quieres potenciar tu producto con inteligencia artificial, IA para empresas y agentes IA, o llevar tus datos a decisiones accionables con servicios inteligencia de negocio y Power BI, Q2BSTUDIO puede ser tu socio tecnológico de principio a fin.

¿Listo para dar el siguiente paso con CI CD y despliegues automatizados? Escríbenos y te ayudamos a diseñar un pipeline robusto, flexible y seguro, integrándolo con tus procesos, tu nube y tus objetivos de negocio.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat