Contenido del curso
Jenkins Core
Jobs
Plugins
Pipelines
Slave
Cierre
Conectar Jenkins con GitHub usando webhooks




Todos los cursos GRATIS
Resumen
Integrar Jenkins con GitHub no tiene por qué ser complejo: con un webhook bien configurado y un job freestyle, puedes ejecutar tus tests de Node.js en cada push o pull request. Aquí verás el flujo completo, desde enlazar el repositorio por HTTPS hasta activar el trigger correcto y evitar errores comunes como olvidar el slash final del webhook.
¿Cómo integrar Jenkins con GitHub y disparar builds con webhooks?
La clave está en configurar el SCM, habilitar el trigger de GitHub y preparar los build steps para npm. Además, valida que tengas Git instalado donde corre Jenkins.
- Crear un nuevo item en Jenkins: freestyle project (por ejemplo, “test sum node js”).
- Marcar “This is a GitHub project” y pegar la URL del repo por HTTPS.
- En Git (SCM): pegar el repositorio. Si aparece error: probablemente Git no está instalado.
- Repositorio público: sin credenciales. Las credenciales se verán más adelante.
- Branch specifier vacío: ejecuta en todas las ramas y también en pull requests.
- En Build Triggers: activar GitHub hook trigger para que el webhook inicie el build.
¿Qué comandos ejecutar con npm y Node.js?
Prepara dos build steps con Execute shell para instalar dependencias y correr tests con mocha.
cd jenkins test npm install
cd jenkins test npm test # equivalente a: npm run test
- Recuerda que cada Execute shell vuelve al workspace inicial: usa
cden cada paso. - Asegura la versión de Node.js y que
npmesté en el PATH con el plugin de Jenkins: Provide Node en npm bin folder to path. - Evita depender de la versión del sistema operativo: elige la versión de Node.js desde Jenkins.
¿Cómo configurar el webhook en GitHub para Jenkins?
Sin webhook activo, GitHub no avisará a Jenkins. Configúralo en el repositorio para que cada push dispare el build automáticamente.
- Verifica que el GitHub plugin esté instalado en Jenkins (viene con los plugins sugeridos).
- En GitHub: Settings → Webhooks → Add webhook.
- URL del webhook:
http://IP:PUERTO/github-webhook/con slash final. Usa dominio en lugar de IP si es posible. - Detalle crítico: incluye el slash final. Sin él, recibirás un 302 en GitHub y Jenkins no redirige.
- Content type: dejar por defecto.
- Seguridad: en producción usa secret.
- Eventos: seleccionar solo push event.
- Activar: en Recent deliveries busca un 200 para confirmar que llegó a Jenkins.
¿Cómo validar que Jenkins ejecuta al hacer push?
- Realiza un commit y
git pushen el repo conectado. - En GitHub: revisa Recent deliveries con respuesta 200.
- En Jenkins: refresca el dashboard, verás el build iniciado por el webhook y el log con:
- Clonado del repositorio.
- Detección del último commit.
- Ejecución de
cd jenkins test,npm installynpm test.
¿Qué errores evitar y qué buenas prácticas aplicar?
Pequeños detalles frenan la integración. Ajusta estos puntos para tener builds confiables y reproducibles.
- No tener Git instalado: el SCM fallará al clonar.
- Olvidar
cden cada Execute shell: cada paso regresa al workspace. - No añadir Node.js y
npmal PATH: Jenkins usará la versión del sistema operativo. - No activar GitHub hook trigger: Jenkins no reaccionará a los push.
- Configurar mal la URL del webhook: falta de slash final provoca 302.
- Dejar el branch specifier vacío si buscas cubrir todas las ramas y PRs.
- Seguridad: usar secret para el webhook en entornos productivos.
- Automatización: busca auto-registrar el webhook al crear repos o jobs en tu organización.
¿Ya conectaste Jenkins con GitHub y te funcionó el webhook a la primera? Cuéntame qué parte te gustaría automatizar primero o qué detalle te dio más pelea.