Día 24: Jenkins CI/CD completo

Guía paso a paso para implementar un pipeline CI/CD con Jenkins y Docker Compose: configuración de plugins, credenciales, webhooks de GitHub y despliegue reproducible.

18 ago 2025 • 5 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Resumen paso a paso fácil de seguir para implementar un proyecto completo de CI CD con Jenkins y Docker Compose, traducido y adaptado al español por Q2BSTUDIO.

Prerequisitos generales: se asume que Jenkins ya está instalado y accesible, y que Docker y Docker Compose están instalados en la máquina donde se ejecutarán los trabajos de Jenkins, ya sea el controlador o un agente.

Instalar plugins esenciales en Jenkins: desde Manage Jenkins Plugins Available instalar los plugins Git, GitHub, GitHub Branch Source, Pipeline y Docker Pipeline si se desea soporte extra para tareas con contenedores.

Dar permisos a Jenkins para usar Docker: en el host de Jenkins ejecutar los comandos sudo usermod -aG docker jenkins y sudo systemctl restart jenkins. Si los builds se ejecutan en un agente, cerrar sesión o reiniciar el agente según corresponda. Verificación rápida crear un job freestyle temporal con Execute shell y ejecutar docker version para confirmar que Jenkins puede invocar Docker.

Añadir credenciales de GitHub en Jenkins: generar un personal access token en GitHub con permisos repo y opcionalmente admin repo hook. En Jenkins Manage Jenkins Credentials System Global Add Credentials elegir Secret text y pegar el token, asignar un id identificable como github-pat para usarlo fácilmente en jobs.

Configurar el servidor GitHub en Jenkins opcional pero recomendado: Manage Jenkins System sección GitHub añadir servidor GitHub usando las credenciales github-pat y testar la conexión hasta que muestre éxito.

Task 1 Fork e integración con GitHub y webhook: en GitHub hacer fork del repositorio objetivo a su cuenta y copiar la URL HTTPS del fork tipo https://github.com/usuario/repositorio.git para usarla en Jenkins.

Crear job Freestyle en Jenkins: New Item nombre my-dockerized-app-freestyle seleccionar Freestyle project. En Source Code Management elegir Git y pegar la URL de su fork. Añadir credenciales si no se han agregado globalmente y configurar la rama por defecto como main o la rama que use su proyecto.

Build Triggers: activar GitHub hook trigger for GITScm polling si va a usar webhook. Como alternativa si Jenkins no es accesible públicamente usar Poll SCM con un schedule como H/5 * * * * para muestrear cambios.

Añadir webhook en GitHub: su Jenkins debe ser accesible desde GitHub por URL pública o mediante un túnel tipo ngrok o cloudflared. En el fork GitHub Settings Webhooks Add webhook usar Payload URL https://su-jenkins:8080/github-webhook/ asegurarse de incluir la barra final, content type application/json, y seleccionar eventos push y opcionalmente pull request. Probar la entrega y verificar que el ping devuelva HTTP 200.

Task 2 Ejecutar la aplicación con Docker Compose desde Jenkins: si el repo no tiene todavía docker-compose.yml añadir uno en la raíz. Ejemplo de docker compose para una app Python y Postgres usar version 3.9 services web con build context . dockerfile Dockerfile container_name myapp-web ports 8000:8000 env_file .env depends_on db restart unless-stopped y servicio db image postgres:15-alpine container_name myapp-db environment POSTGRES_USER myapp POSTGRES_PASSWORD myapp POSTGRES_DB myapp volumes db_data:/var/lib/postgresql/data restart unless-stopped y volumes db_data vacío. Ajustar según su pila tecnológica si usa Node Java Go u otra.

Ejemplo simplificado de Dockerfile para Python: FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . EXPOSE 8000 CMD gunicorn -b 0.0.0.0:8000 app:app. Cambiar el comando y puerto según su aplicación.

Añadir pasos de build en Jenkins Freestyle: en Configure Build Add build step Execute shell pegar el script siguiente que funciona con Docker Compose v2 usando docker compose. Si su host aún usa binario v1 sustituir docker compose por docker-compose. set -euxo pipefail cd $WORKSPACE docker compose -p myapp down -v --remove-orphans || true docker compose -p myapp up -d --build echo Containers: docker ps echo Compose services: docker compose -p myapp ps. Opcionalmente correr pruebas antes del despliegue con docker compose run --rm web pytest o verificar puertos con timeout 60 bash -c until nc -z localhost 8000; do sleep 2; done.

Agregar paso opcional de limpieza: Execute shell con set -euxo pipefail cd $WORKSPACE docker compose -p myapp down -v --remove-orphans para parar y borrar volúmenes cuando lo desee.

Verificar el ciclo CI CD: lanzar un Manual Build con Build Now y revisar Console Output para ver checkout git, build de imágenes y logs de compose up. En el host de Jenkins ejecutar docker ps y confirmar que aparezcan containers myapp-web y myapp-db. Abrir la aplicación en el navegador en la dirección https://jenkins-host:8000 o el puerto que haya mapeado. Probar webhook haciendo un commit pequeño al fork y push; Jenkins debe disparar el job automáticamente y redeplegar.

Errores comunes y soluciones: Jenkins no puede ejecutar Docker agregar usuario jenkins al grupo docker y reiniciar. Webhook 403 o timeout asegurar que https://jenkins:8080/github-webhook/ es accesible desde GitHub y mantener la barra final. Compose no encontrado ejecutar docker compose version o instalar Docker Compose v2 o usar docker-compose en su lugar. Puerto en uso cambiar el puerto publicado en docker-compose.yml o detener la aplicación que ocupa el puerto. Permisos en workspace asegurar que el usuario jenkins tenga permisos adecuados sobre los archivos del workspace.

Sobre Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida para empresas de todos los tamaños. Ofrecemos servicios de inteligencia artificial e ia para empresas, desarrollo de agentes IA personalizados, así como soluciones de ciberseguridad y servicios cloud aws y azure. También brindamos servicios de inteligencia de negocio y consultoría en power bi para transformar datos en decisiones accionables. Nuestro equipo integra prácticas de DevOps y automatización con Jenkins y Docker para garantizar despliegues reproducibles y seguros, y diseñamos arquitecturas cloud escalables que combinan AWS y Azure según las necesidades del cliente.

Palabras clave estratégicas para mejorar posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Utilizamos estas tecnologías para crear productos seguros, escalables y optimizados para negocio, integrando pipelines CI CD eficientes y prácticas de seguridad desde la etapa de desarrollo hasta producción.

Si desea que Q2BSTUDIO implemente este pipeline para su proyecto o que adaptemos la solución a su stack tecnológico contactenos para una evaluación y propuesta personalizada.

¿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