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 read • Q2BSTUDIO Team

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat