Jenkins Integración con GitHub: ¿Cómo instalar el plugin de Git?

⚡ Resumen inteligente

Jenkins La integración con GitHub conecta un servidor de automatización a un repositorio de código fuente para que cada commit se compile y verifique automáticamente. Para completar la conexión, basta con instalar el plugin de Git, crear una tarea de Freestyle, autenticarse con un token y registrar un webhook.

  • ???? Plugin Foundation: Jenkins Los paquetes vienen con un conjunto mínimo de funciones, por lo que el soporte de terceros llega a través de complementos instalados desde el Administrador. Jenkins Página de complementos.
  • 🌿 Complemento de Git vs GitHub: El complemento Git proporciona el código fuente. Code Opción de gestión que clona un repositorio; el complemento de GitHub añade la gestión de webhooks y la notificación del estado de las confirmaciones.
  • 💻 Se requiere Git local: Jenkins delega la clonación al ejecutable de Git en el host, por lo que una instalación local faltante produce el repositorio URL Error de validación.
  • 🔑 Autenticación de token: GitHub dejó de aceptar contraseñas de cuenta para las operaciones de Git en agosto de 2021, por lo que los repositorios privados requieren un token de acceso personal o una clave SSH.
  • 🪝 Activación automática: Un webhook de repositorio que apunta al Jenkins El punto final github-webhook inicia una compilación con cada envío en lugar de una ejecución manual.
  • 🧾 Verificación: Ejecutar git –version confirma que el ejecutable se resuelve y se gestiona Jenkins Tools registra su ruta.
  • 🛠️ Recuperación de fallas: Fuente faltante Code Las opciones de administración, las credenciales rechazadas y los webhooks silenciosos son las causas de la mayoría de los fallos de integración.

Jenkins Integración GitHub

Ya has aprendido qué Jenkins es y como instalarlo en un Windows teSuponiendo que esos pasos básicos estén completos, pasaremos ahora a la gestión de complementos.

Jenkins tiene un excelente soporte para complementos. Hay más de mil complementos de aplicaciones de terceros disponibles. Para comprobar si Jenkins Admite la aplicación de terceros que tienes en mente, busca en el directorio de complementos en https://plugins.jenkins.io/.

Jenkins Integración GitHub

Instalación de complementos en Jenkins

Jenkins Viene con una configuración bastante básica, por lo que deberá instalar los complementos necesarios para habilitar la compatibilidad con cada aplicación de terceros.

GitHub es un repositorio de código basado en la web que desempeña un papel fundamental en DevOps. Proporciona una plataforma común para que varios desarrolladores que trabajan en el mismo código o proyecto puedan subir y recuperar código actualizado, facilitando así la integración continua.

Jenkins Necesita tener instalado el complemento Git antes de poder extraer código de un repositorio de GitHub. Los nombres de ambos complementos suelen confundirse, por lo que la siguiente tabla los diferencia:

Plugin Qué ofrece ¿Es necesario para este tutorial?
Complemento de Git El Git opción en Fuente Code Gestión, clonación de repositorios y selección de ramas Sí, este es el esencial.
Complemento de GitHub Manejo de webhooks, el Activador de gancho de GitHub opción, y el estado de la compilación se informa a los commits Solo para activación automática

No es necesario que instale estos complementos si ya aceptó los complementos sugeridos durante el proceso. Jenkins Configuración de instalación, ya que el complemento Git forma parte de ese conjunto. Si no, aquí le mostramos cómo instalarlos y obtener el código de un repositorio de GitHub.

Cómo instalar el complemento Git en Jenkins

A continuación se muestra un proceso paso a paso sobre cómo instalar el complemento Git en Jenkins:

Paso 1: Abra su tablero.
Haga clic en el elemento Gestionar Jenkins botón en su Jenkins tablero:

Instalar el complemento Git en Jenkins

Paso 2: Busca la opción de complementos.
Haga clic en PluginsEn la actualidad Jenkins Esta entrada se publica simplemente Plugins; versiones anteriores etiquetadas con la misma pantalla Administrar complementos.

Instalar el complemento Git en Jenkins

Paso 3: En la página de Plugins, abra el Complementos disponibles pestaña y luego:

  1. Seleccione el elemento Git plugin
  2. Haga clic en Instalar sin reiniciarEl complemento tarda unos instantes en descargarse, dependiendo de su conexión a Internet, y se instala automáticamente.
  3. En su lugar, puede elegir Descárgalo ahora e instálalo después de reiniciar., en cuyo caso el complemento se aplica cuando Jenkins El próximo comienzo.
  4. Si el complemento ya está presente, aparece en la instalado pestaña y no se ofrece ninguna actualización.

Instalar el complemento Git en Jenkins

Paso 4: Una vez instalados los complementos, vaya a Gestionar Jenkins > Complementos > InstaladosTus nuevos plugins aparecen listados junto con los demás.

Instalar el complemento Git en Jenkins

Con el complemento instalado, Jenkins Ahora se puede apuntar a un repositorio real.

Cómo integrar Jenkins Con GitHub

Ahora vamos a repasar el proceso de integración. Jenkins y GitHub en un Windows sistema:

Paso 1) Crear un nuevo trabajo en Jenkins. Abre el Jenkins panel de control en su Jenkins URL, Por ejemplo http://localhost:8080/Y haga clic en Nuevo elemento:

Integrar Jenkins Con GitHub

Paso 2) Introduzca el nombre del artículo, seleccione el tipo de trabajo y haga clic. OK. Crearemos un proyecto de estilo libre como ejemplo.

Integrar Jenkins Con GitHub

Paso 3) Una vez que hagas clic OKLa página redirige al formulario de configuración del proyecto. Introduzca aquí la información del proyecto:

Integrar Jenkins Con GitHub

Paso 4) Verás un Git en Fuente Code Gestión si el complemento Git se ha instalado en Jenkins:

Integrar Jenkins Con GitHub

Nota: Si Git La opción no aparece, reinstale el complemento, reinicie. Jenkinsy vuelva a iniciar sesión en el panel de control. Git La opción será visible como se muestra arriba.

Paso 5) Ingrese al repositorio Git URL para descargar el código de GitHub.

Integrar Jenkins Con GitHub

Paso 6) Es posible que reciba un mensaje de error la primera vez que acceda al repositorio. URL. Por ejemplo:

Integrar Jenkins Con GitHub

Esto sucede cuando Git no está instalado en la máquina que se está ejecutando. Jenkins. Jenkins no incluye su propio binario de Git; el complemento llama al ejecutable de Git en el host. Para instalar Git localmente, vaya a https://git-scm.com/downloads.

Integrar Jenkins Con GitHub

Descargue el instalador de Git apropiado para su Operating sistema - en este caso Windows — e instálelo en la máquina que se está ejecutando JenkinsSiga las instrucciones en pantalla para finalizar la instalación.

Integrar Jenkins Con GitHub

Paso 7) Jenkins Puede ejecutar repositorios Git una vez que Git esté instalado en la máquina. Para confirmar la instalación, abra un símbolo del sistema, tipo gity pulse Intro. Aparecerá una lista de opciones de Git:

Integrar Jenkins Con GitHub

:: Confirm the Git executable resolves and report its version
git --version

:: Expected output
git version 2.51.0.windows.1

:: Show the full path Jenkins should record in Global Tool Configuration
where git

Esto confirma que Git está instalado en su sistema.

Nota: Si Git ya está instalado, agregue el git.exe camino bajo Gestionar Jenkins > Herramientas (etiquetado Configuración global de herramientas en versiones anteriores).

Paso 8) Con todo listo, agregue Git URL cobren Jenkins Nuevamente. No aparece ningún mensaje de error, lo que confirma que Jenkins Integración Git:

Integrar Jenkins Con GitHub

Git ya está configurado correctamente en tu sistema. En este punto, se clonará un repositorio público, pero uno privado aún requiere credenciales, que es el siguiente paso.

Cómo autenticarse Jenkins Con un token de acceso personal de GitHub

GitHub dejó de aceptar contraseñas de cuenta para operaciones de Git en agosto de 2021. Proporcionar un nombre de usuario y una contraseña en Jenkins Por lo tanto, falla contra cualquier repositorio privado con un error de autenticación, incluso cuando las mismas credenciales inician sesión en el sitio web de GitHub. Un token de acceso personal reemplaza la contraseña y Jenkins Lo almacena en su propio almacén de credenciales en lugar de en la configuración del trabajo.

Primero, crea el token en GitHub:

  1. En GitHub, abre Configuración > Configuración de desarrollador > Tokens de acceso personal.
  2. Elija un de grano fino token siempre que sea posible, porque se puede limitar a un único repositorio o a un clásico token si su organización aún lo requiere.
  3. Otorgar acceso de lectura al contenido del repositorio. Agregar acceso de escritura al estado de confirmación solo cuando lo desee. Jenkins para informar los resultados de la compilación en las confirmaciones.
  4. Establece una fecha de caducidad y copia el token inmediatamente; GitHub lo mostrará exactamente una vez.

Luego registre el token dentro Jenkins:

  1. Vaya al Gestionar Jenkins Credenciales > Sistema > Credenciales globales y hacer clic en Agregar credenciales.
  2. Seleccionar Nombre de usuario con contraseña como el tipo. Ingrese su nombre de usuario de GitHub y pegue el token en el campo de contraseña.
  3. Asigne a la entrada una identificación clara como por ejemplo: github-pat Por lo tanto, es reconocible en las pantallas de configuración de trabajos.
  4. Regresa al trabajo, abre Fuente Code Gestión > Gity seleccione la nueva credencial de la Credenciales desplegable.

El error de validación rojo debajo del repositorio URL desaparece una vez Jenkins puede autenticarse. Hay dos notas prácticas que vale la pena recordar. Primero, los tokens caducan; un trabajo que se ha ejecutado de forma fiable durante meses y de repente falla al extraerlo casi siempre se debe a un token caducado en lugar de a un repositorio dañado. Segundo, una clave SSH es una alternativa válida: agregue la clave privada como una Nombre de usuario SSH con clave privada credenciales y uso de la git@github.com:owner/repo.git URL formulario en lugar del formulario HTTPS.

Cómo activar Jenkins Se compila automáticamente con un webhook de GitHub.

El trabajo creado anteriormente aún debe iniciarse manualmente, lo que anula el propósito de la integración continua. Un webhook cierra esa brecha: GitHub envía una solicitud HTTP a Jenkins en cada empuje, y Jenkins Inicia la compilación inmediatamente.

Jenkins Debe ser accesible desde GitHub para que esto funcione. En un portátil con localhost:8080 No lo es, así que cualquiera de los dos anfitriones Jenkins en un público URL o exponerlo temporalmente a través de un servicio de túnel durante las pruebas.

  1. Instala el complemento de GitHub. Regrese al Gestionar Jenkins > Complementos > Complementos disponibles e instalar GitHubEsto añade la opción de activación que el plugin de Git por sí solo no proporciona.
  2. Habilita el disparador en el trabajo. Abra la configuración del trabajo, desplácese hasta Construir disparadoresy marque Activador de gancho de GitHub para sondeo de GITScm.
  3. Agrega el webhook en GitHub. En el repositorio, abre Configuración > Webhooks > Agregar webhook.
  4. Configurar la carga útil URL para usted Jenkins dirección seguida de /github-webhook/La barra diagonal final importa.
  5. Establecer el tipo de contenido a application/json y elija Sólo el evento push.
  6. Guarda y prueba. GitHub envía un ping inmediatamente. Una marca verde debajo Entregas recientes significa Jenkins Lo acepté.
# Payload URL format for the GitHub webhook
https://jenkins.example.com/github-webhook/

# Content type
application/json

# Verify from the Jenkins host that the endpoint answers
curl -I https://jenkins.example.com/github-webhook/

Envía un commit para confirmar que el bucle se ha cerrado. El trabajo debería aparecer en la cola de compilación en unos segundos sin ninguna acción manual. Si no ocurre nada, abre el webhook en GitHub y lee el Entregas recientes código de respuesta: un 403 generalmente indica que Jenkins La configuración de seguridad bloquea el acceso anónimo al punto final, mientras que un tiempo de espera significa que GitHub no puede llegar al Jenkins URL en absoluto.

Una vez que las compilaciones se activan automáticamente, la fricción restante suele ser un puñado de errores recurrentes.

Preguntas frecuentes sobre bancarrota Jenkins Errores y soluciones de integración de GitHub

Casi todas las integraciones fallidas se encuadran en una de las categorías que se describen a continuación, y cada una tiene un síntoma distintivo que apunta directamente a la causa.

  • No hay opción Git en Fuente Code Administración: El complemento Git no está instalado o no está cargado. Reinstálelo desde Gestionar Jenkins > Complementos, Reanudar Jenkinsy vuelva a cargar la página de configuración del trabajo.
  • “Error al conectar con el repositorio” en un repositorio público URL: Git no está incluido en la lista. Jenkins anfitrión. Instale Git y luego confirme con git --version y registrar el camino bajo Gestionar Jenkins > Herramientas.
  • Falló la autenticación en un repositorio privado: Se está utilizando una contraseña de cuenta. Reemplácela con un token de acceso personal como se describe anteriormente, o cambie a una clave SSH.
  • Las compilaciones nunca comienzan después de un empuje: o bien el Activador de gancho de GitHub La casilla de verificación no está marcada o GitHub no puede acceder a la Jenkins URL. Compruebe el registro de entrega del webhook en la configuración del repositorio.
  • Se ha creado la rama incorrecta: <font dir="auto" style="vertical-align: inherit;">las </font> especificador de rama aún mantiene el valor predeterminado */master mientras el repositorio utiliza main. Actualice el especificador para que coincida.
  • El proceso de pago funcionaba ayer y hoy falla: El token de acceso personal ha caducado. Genere uno nuevo y actualice la credencial almacenada.

También verifique: mejor Jenkins Alternativas (código abierto y pago) y conectar Canalización de CI / CD Guía paso a paso, que se basa en la conexión establecida aquí.

Preguntas Frecuentes

Sí. El complemento Git clona desde cualquier host Git, por lo que el código fuente Code Los pasos de administración son idénticos. Solo difiere la configuración del webhook y GitLab dedicado o Bitbucket Los complementos proporcionan activadores específicos para cada host e informes de estado.

Para cualquier cosa más allá de una demostración, sí. JenkinsEl archivo almacena el industrial definición en el propio repositorio, por lo que los pasos de compilación se versionan y revisan junto con el código en lugar de vivir solo en el Jenkins UI.

AI Los asistentes resumen los registros de compilación fallidos, proponen la confirmación que probablemente causó el problema y elaboran los pasos del proceso a partir de la estructura del repositorio. RevRevisa todas las sugerencias antes de aplicarlas, especialmente aquellas relacionadas con credenciales.

No. La IA acelera el diagnóstico y la creación de configuraciones, pero la orquestación, la programación y el registro de auditoría aún requieren un servidor de compilación. Trate la IA como un asistente superpuesto a Jenkins, no un sustituto para ello.

Sí. Encuesta SCM En Build Triggers se comprueba el repositorio según un cronograma usando la sintaxis cron. Funciona detrás de un firewall, pero desperdicia solicitudes y retrasa las compilaciones, por lo que es preferible usar webhooks siempre que sea necesario. Jenkins es alcanzable

Resumir este post con: