Skip to content

0GiS0/github-copilot-and-jenkins

Repository files navigation

🤖 Formas de integrar GitHub Copilot en Jenkins

Suscriptores en YouTube GitHub followers Sígueme en LinkedIn Sígueme en X

🇬🇧 Read in English


¡Hola developer 👋🏻! En este repositorio encontrarás un entorno completo para integrar GitHub Copilot en Jenkins con un plugin Java, canalizaciones de ejemplo integradas con GitHub Copilot CLI y un contenedor de desarrollo listo para usar. También incluye una aplicación TypeScript para pruebas y demostraciones de automatización con IA.

Formas de integrar GitHub Copilot en Jenkins

📑 Tabla de Contenidos


✨ Características

  • Plugin Copilot Chat para Jenkins (Java) con respuestas transmitidas en tiempo real.
  • Integración con GitHub Copilot SDK Java y soporte de herramientas MCP.
  • Canalizaciones de demostración para revisión de código, generación de documentación y análisis de código.
  • Entorno reproducible con contenedor de desarrollo + Docker Compose.
  • Proyecto de ejemplo en Node.js + TypeScript + Jest para experimentar con indicaciones y flujos de integración continua.
  • Sincronización automática del GH_TOKEN con credenciales de Jenkins mediante una secuencia de comandos.

🛠️ Tecnologías Utilizadas

  • Node.js (LTS, configurado en el contenedor de desarrollo)
  • TypeScript 5.3.3
  • Jest 29.7.0
  • ESLint 8.56.0
  • Java 17
  • Maven (plugin Jenkins HPI)
  • Jenkins 2.479.3
  • Docker / Docker Compose
  • GitHub Actions (.github/workflows/ci.yml)

📋 Requisitos Previos

  • Git
  • Docker Desktop (recomendado para levantar todo el entorno)
  • VS Code + extensión Dev Containers (ruta recomendada)
  • GH_TOKEN con permisos de repositorio y Copilot Requests

Opcional para ejecución local sin contenedor de desarrollo:

  • Node.js 20+
  • npm
  • Java 17 y Maven (si vas a compilar el plugin)

🚀 Instalación

Paso 1: Clonar el repositorio

git clone https://github.com/0GiS0/github-copilot-and-jenkins.git
cd github-copilot-and-jenkins

Paso 2: Configurar token de GitHub

# macOS/Linux
export GH_TOKEN="tu_token_aqui"

# Windows PowerShell
$env:GH_TOKEN="tu_token_aqui"

Paso 3 (recomendado): Abrir en el contenedor de desarrollo

code .

Luego vuelve a abrir el proyecto en el contenedor desde VS Code.

Paso 4 (alternativa Docker Compose)

cd .devcontainer
docker compose up -d --build

Jenkins quedará disponible en http://localhost:8081 (usuario admin, contraseña admin).

Paso 5: Dependencias del proyecto Node.js

npm install

Paso 6: Sincronizar token con Jenkins (si aplica)

./scripts/sync-jenkins-gh-token.sh

💻 Uso

Comandos principales del proyecto:

npm run dev     # Ejecuta la demo TypeScript
npm run build   # Compila TypeScript a dist/
npm start       # Ejecuta dist/index.js
npm test        # Ejecuta tests con Jest
npm run lint    # Analiza src/**/*.ts
npm run clean   # Limpia dist/

Canalizaciones de demostración incluidas:

  • pipelines/code-review.jenkinsfile
  • pipelines/docs-generator.jenkinsfile
  • pipelines/code-analysis.jenkinsfile

📁 Estructura del Proyecto

.
├── .devcontainer/
│   ├── devcontainer.json
│   ├── docker-compose.yml
│   ├── Dockerfile.devcontainer
│   ├── Dockerfile.jenkins
│   └── jenkins-config/
├── .github/workflows/
│   └── ci.yml
├── jenkins-copilot-chat-plugin/
│   ├── pom.xml
│   └── src/
├── pipelines/
│   ├── code-analysis.jenkinsfile
│   ├── code-review.jenkinsfile
│   └── docs-generator.jenkinsfile
├── scripts/
│   ├── install-copilot-cli.sh
│   └── sync-jenkins-gh-token.sh
├── src/
│   ├── index.ts
│   ├── utils.ts
│   └── utils.test.ts
├── package.json
└── tsconfig.json

📚 Más información

Si quieres profundizar en cómo funcionan los plugins de Jenkins y entender los conceptos clave detrás de este proyecto, te recomiendo revisar la documentación incluida en este repositorio:

Guía Descripción
🔌 Cómo funcionan los plugins de Jenkins Puntos de extensión, Stapler MVC, plantillas Jelly, GlobalConfiguration, UserProperty, PageDecorator: los fundamentos para entender cualquier plugin de Jenkins.
🤖 Funcionamiento interno del plugin Copilot Chat Cómo se aplicaron esos bloques para construir este plugin: flujo de dispositivo OAuth de GitHub, ciclo de vida de sesión del SDK, servidor MCP, transmisión en tiempo real con eventos enviados por el servidor y modelo de seguridad.

🌐 Sígueme en Mis Redes Sociales

Si te ha gustado este proyecto y quieres ver más contenido como este, no olvides suscribirte a mi canal de YouTube y seguirme en mis redes sociales:

Suscriptores en YouTube Seguidores en GitHub Sígueme en LinkedIn Sígueme en X

About

Demo completo para integrar GitHub Copilot en Jenkins con plugin Java, pipelines de automatización y Dev Container.

Topics

Resources

Stars

Watchers

Forks

Contributors