POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Despliegue automatizado con GitHub Actions y Nanocl

Automatiza tus despliegues con GitHub Actions y Nanocl: pipelines CI/CD seguros y eficientes

Publicado el 07/09/2025

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.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio