Día 23: Freestyle de Jenkins para DevOps

Guía para automatizar builds, pruebas y despliegues con Jenkins y Docker: CI/CD, Freestyle Projects, Docker Compose y pipelines seguros para tus proyectos.

18 ago 2025 • 5 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Bienvenido a tu espacio para automatizar compilaciones pruebas y despliegues con Jenkins y Docker. Aquí descubrirás cómo implementar CI CD para mantener el desarrollo rápido fiable y eficiente.

CI CD explicado: CI Integración Continua integra automáticamente los cambios en un repositorio compartido y ejecuta compilaciones y pruebas para detectar errores temprano. CD Entrega Continua mantiene el código en un estado listo para liberación con despliegues automatizados a staging o producción.

Qué es un build job En Jenkins un build job es un conjunto de instrucciones para automatizar tareas desde compilar código ejecutar pruebas empaquetar hasta desplegar en cualquier entorno.

Qué es un Freestyle Project Un Freestyle Project en Jenkins es la forma más accesible para construir y probar código ejecutar comandos Docker desplegar aplicaciones y encadenar varios pasos de automatización.

Retos de hoy Task 1 Crear un agente para tu aplicación dockerizada Crear un Freestyle Project en Jenkins Añadir un paso de build que ejecute docker build para crear la imagen y docker run para lanzar el contenedor

Task 2 Crear un proyecto en Jenkins para ejecutar docker compose up -d y arrancar múltiples contenedores desde tu proyecto Añadir un paso de limpieza con docker compose down para detener y eliminar contenedores

Prerequisitos Confirmar que Jenkins está activo Abre la URL https://tu-host:8080 Desbloquea Jenkins con el contenido de sudo cat /var/lib/jenkins/secrets/initialAdminPassword Crea el usuario admin e instala los plugins sugeridos si es la primera vez

Dar acceso de Docker al usuario de Jenkins Ejecuta sudo usermod -aG docker jenkins y sudo systemctl restart jenkins Verifica con sudo -u jenkins -H sh -c docker version && docker ps

Instalar Git y Compose en el agente o host Ejecuta sudo apt-get update y sudo apt-get install -y git Si docker compose no está presente instala docker compose plugin con sudo apt-get install -y docker-compose-plugin

Crear o preparar un agente Si Jenkins y Docker comparten la misma máquina puedes usar el Built in Node Ve a Manage Jenkins Nodes Built in Node Configure Añade una etiqueta por ejemplo docker y establece el numero de ejecutores en 1 Guarda Si tienes un host Docker separado añádelo como agente SSH y asegúrate de que Docker está instalado allí

Task 1 Freestyle job para build y run Preparar el repositorio Asegúrate de que tu repo contiene un Dockerfile en la raiz por ejemplo my-app Dockerfile src ...

Crear el job Jenkins New Item Freestyle project nombra app-build-run OK En General marca Restrict where this project can be run y usa la etiqueta docker En Source Code Management selecciona Git y añade la URL del repo En Build Triggers configura Build periodically con el cron H * * * * para ejecutar cada hora

Paso de build Añade un Execute shell con un script similar en una sola linea set -e; APP_NAME=myapp; IMAGE=${APP_NAME}:${BUILD_NUMBER}; PORT=8080; echo [INFO] Building image ${IMAGE}; docker build -t ${IMAGE} .; echo [INFO] Stopping previous container if any; docker rm -f ${APP_NAME} 2>/dev/null || true; echo [INFO] Running new container; docker run -d --name ${APP_NAME} -p ${PORT}:${PORT} ${IMAGE}; echo [INFO] Container status:; docker ps --filter name=${APP_NAME}

Guarda y ejecuta Build Now Prueba la aplicación en https://tu-host:8080 o en el puerto mapeado

Task 2 Freestyle job para docker compose up -d y limpieza Asegura que tu repo incluye docker-compose.yml con los servicios necesarios por ejemplo un servicio web que construye desde . y expone 8080 y un servicio db con image postgres:16

Crear el job Jenkins New Item Freestyle project nombra compose-up OK Restringe a la etiqueta docker Configura Git con la URL de tu repo Opcionalmente añade un trigger Build periodically H/30 * * * *

Build step Si dispones de docker compose usa un Execute shell con set -e; FILE=docker-compose.yml; echo [INFO] Pull build y start en modo detached; docker compose -f ${FILE} up -d --build; echo [INFO] Current stack:; docker compose -f ${FILE} ps

Si solo tienes el binario antiguo usa docker-compose -f docker-compose.yml up -d --build y docker-compose -f docker-compose.yml ps

Cleanup para que siempre se ejecute incluso si falla el build usa un script con trampa set -e; FILE=docker-compose.yml; cleanup(){ echo [CLEANUP] Bringing stack down; docker compose -f ${FILE} down --volumes --remove-orphans; }; trap cleanup EXIT; docker compose -f ${FILE} up -d --build; docker compose -f ${FILE} ps; # aqui puedes añadir tus pruebas la limpieza se ejecutara en EXIT

Si quieres que la pila permanezca activa para pruebas manuales omite down aquí y crea un job compose-down con el comando docker compose -f docker-compose.yml down --volumes --remove-orphans

Repositorios privados Añade credenciales en Manage Jenkins Credentials System Global Add Credentials Elige Username with password o SSH Username with private key y referencia esas credenciales en la configuración Git del job

Verificacion final Añade un Execute shell al final con echo [VERIFY] Hitting health endpoint; curl -fsS https://localhost:8080/ || (echo App not responding && exit 1)

Consejos ejecuta ambos jobs revisa Console Output para confirmar cada etapa y ajusta puertos y nombres segun tu aplicación

Sobre Q2BSTUDIO Q2BSTUDIO es una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida. Ofrecemos soluciones integrales en inteligencia artificial y ia para empresas, agentes IA implementacion de power bi y servicios inteligencia de negocio. Nuestra experiencia incluye ciberseguridad, servicios cloud aws y azure y consultoria para integrar agentes IA en procesos de negocio. Trabajamos proyectos desde prototipos hasta despliegues a produccion garantizando buenas practicas de seguridad y escalabilidad.

Palabras clave aplicables 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

Si necesitas apoyo profesional Q2BSTUDIO puede ayudarte a diseñar pipelines CI CD optimizados crear jobs de Jenkins seguros y desplegar arquitecturas basadas en Docker y docker compose integrando inteligencia artificial y analitica con Power BI para maximizar el valor de tus datos.

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