Despliegue de una API en Rust en Cloud Run mediante GitLab Pipeline

Guía práctica para desplegar una API en Rust en Cloud Run con Warp y GitLab CI/CD, aplicando Domain Driven Design (DDD), Docker multi-stage y un endpoint health para monitoreo.

9 sept 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Compartimos un post genuino, en portugués originalmente, aquí reescrito y traducido al español para explicar cómo desplegar una API en Rust en Cloud Run usando una pipeline de GitLab. La aproximación de arquitectura utilizada fue Domain Driven Design DDD para mantener la lógica de negocio separada de la infraestructura y la capa de transporte.

Estructura general del proyecto y main: la parte esencial arranca en main.rs donde se define la ruta health usando warp y un handler get_health_handler. En runtime se arranca el servidor warp indicando explícitamente la dirección 0.0.0.0 y el puerto 8080 mediante la llamada run con el argumento ([0, 0, 0, 0], 8080) para que el contenedor sea accesible desde fuera. La organización de carpetas sigue DDD con carpetas domain, infra y use_case para mantener entidades y casos de uso desacoplados.

Ejemplo simplificado de la responsabilidad de main: se registra la ruta health con método GET vinculada al handler correspondiente y se ejecuta warp serve con run en la tupla de socket y puerto para que Cloud Run pueda enrutar tráfico externo correctamente.

Archivo Dockerfile y multi stage build: se recomienda un builder basado en la imagen oficial de Rust que instala dependencias de compilación como pkg-config y libssl-dev, compila la aplicación en modo release y luego copia el binario a una imagen final basada en debian slim para reducir el tamaño y asegurar compatibilidad glibc. En la imagen final se instalan librerías de tiempo de ejecución mínimas como libssl y se expone el puerto 8080. Es importante que el contenedor escuche en 0.0.0.0 y respete la variable de entorno PORT cuando sea necesario.

Pausas claves del Dockerfile: etapa builder con FROM rust:latest AS builder, instalación de librerías de desarrollo, cargo build --release; etapa final con FROM debian:bookworm-slim, instalación de libssl3 y ca-certificates, copia del binario desde el builder, ENV PORT 8080, EXPOSE 8080 y CMD para ejecutar el binario compilado.

Pipeline GitLab y despliegue a Cloud Run: la job deploy_cloud_run se activa para la rama dev en pushes y realiza pasos previos como descargar el SDK de Google Cloud, activar la cuenta de servicio a partir de un secreto codificado en base64, configurar el proyecto GCP y autenticar Docker con Artifact Registry. La job construye una imagen etiquetada con el commit corto, la sube al registro y ejecuta gcloud run deploy apuntando a la imagen, permitiendo acceso no autenticado si se desea y estableciendo variables de entorno para el servicio.

Recomendaciones de seguridad: guardar el JSON de la cuenta de servicio como secreto en GitLab CI para evitar filtraciones, y otorgar a esa cuenta únicamente los permisos necesarios. Permisos mínimos que suelen ser necesarios para esta job: roles run.admin para desplegar servicios Cloud Run, roles viewer para lecturas generales y roles iam.serviceAccountUser para permitir que Cloud Run use la cuenta de servicio.

Ejemplo de resultado esperado en la consola de GitLab una vez desplegado: Service api-dev revision su-api-00000-pe ha sido desplegado y está recibiendo 100 percent of traffic. Service URL https://su-api-hash-uc.a.run.app. Para comprobar el endpoint health se puede usar curl contra la URL del servicio y debería devolver un JSON con estado healthy y un mensaje indicando que la API funciona correctamente.

Beneficios y contexto para empresas: este flujo es ideal para equipos que necesitan rapidez en despliegues y control de versiones de imágenes, además de integrarse con prácticas de DevOps. Si tu empresa busca desarrollar soluciones a medida o aplicaciones a medida podemos ayudarte desde el diseño hasta el despliegue en la nube. Consulta nuestros servicios de desarrollo de aplicaciones y software a medida en desarrollo de aplicaciones y software multiplataforma.

Servicios complementarios y palabras clave: en Q2BSTUDIO ofrecemos soluciones en inteligencia artificial para empresas, agentes IA integrados, servicios de ciberseguridad y pentesting, y despliegues en servicios cloud aws y azure. También trabajamos en proyectos de inteligencia de negocio y Power BI para obtener insights accionables. Si te interesa explorar cómo aplicar IA o modernizar tus procesos, visita nuestra página de inteligencia artificial en servicios de inteligencia artificial.

Palabras clave incluidas en este contenido para mejorar posicionamiento y búsquedas: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.

Conclusión y ayuda práctica: si te quedas atascado en algún paso de compilación, empaquetado o despliegue, revisa la configuración del puerto y la dirección de escucha 0.0.0.0, verifica que la cuenta de servicio tenga los roles necesarios y que el secreto con el JSON de la cuenta esté correctamente cargado en las variables de CI. Esperamos que esta guía te ayude a desimpedir y avanzar rápido con tu despliegue en Cloud Run.

¿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