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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat