Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

Configurar Gradle para usar con paquetes de GitHub

Puedes configurar Gradle para publicar paquetes para GitHub Packages y utilizar paquetes almacenados en GitHub Packages como dependencias en un proyecto Java.

GitHub Packages se encuentra disponible con GitHub Free, GitHub Pro, GitHub Free para organizaciones, GitHub Team, GitHub Enterprise Cloud, y GitHub One. GitHub Packages no está disponible para repositorios privados que pertenezcan a cuentas que utilicen planes tradicionales por repositorio. Para obtener más información, consulta la sección "Productos de GitHub".

En este artículo

Autenticar a GitHub Packages

Necesitas de un token de acceso para publicar, instalar, y borrar paquetes en GitHub Packages. Puedes utilizar un token de acceso personal para autenticarte con tu nombre de usuario directamente en GitHub Packages o en la API de GitHub. Puedes utilizar un GITHUB_TOKEN para autenticarte utilizando un flujo de trabajo de GitHub Actions.

Autenticando con un token de acceso personal

Debes utilizar un token de acceso personal con los alcances adecuados para publicar e instalar paquetes en GitHub Packages. Para obtener más información, consulta "Acerca de GitHub Packages."

Puedes autenticar a GitHub Packages con Gradle usando ya sea Gradle Groovy o Kotlin DSL editando tu archivo build.gradle (Gradle Groovy) o archivo build.gradle.kts (Kotlin DSL) para incluir tu token de acceso personal. También puedes configurar Gradle Groovy y Kotlin DSL para que reconozcan un paquete único o múltiples paquetes en un repositorio.

Reemplaza USERNAME con tu nombre de usuario GitHub, TOKEN con tu token de acceso personal, REPOSITORY con el nombre del repositorio que contiene el paquete que deseas publicar y OWNER con el nombre de la cuenta de usuario o de organización en GitHub que posee el repositorio. Dado que las letras mayúsculas no son compatibles, debes usar minúscula para el propietario del repositorio si el nombre de usuario o el nombre de la organización de GitHub contiene letras mayúsculas.

Nota: GitHub Packages es compatible con versiones SNAPSHOT de Apache Maven. Para utilizar un repositorio para descargar este tipo de artefacto, debes habilitar las CAPTURAS (SNAPSHOTS) en tu archivo~/.m2/settings.xml file. Para obtener un ejemplo, consulta "Configurar Apache Maven para usar con GitHub Packages."

Ejemplo de uso de Gradle Groovy para un paquete único en un repositorio
plugins {
    id("maven-publish")
}

publishing {
    repositories {
        maven {
            name = "GitHubPackages"
            url = uri("https://maven.pkg.github.com/OWNER/REPOSITORY")
            credentials {
                username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
                password = project.findProperty("gpr.key") ?: System.getenv("TOKEN")
            }
        }
    }
    publications {
        gpr(MavenPublication) {
            from(components.java)
        }
    }
}
Ejemplo usando Gradle Groovy para múltiples paquetes en el mismo repositorio
plugins {
    id("maven-publish") apply false
}

subprojects {
    apply plugin: "maven-publish"
    publishing {
        repositories {
            maven {
                name = "GitHubPackages"
                url = uri("https://maven.pkg.github.com/OWNER/REPOSITORY")
                credentials {
                    username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
                    password = project.findProperty("gpr.key") ?: System.getenv("TOKEN")
                }
            }
        }
        publications {
            gpr(MavenPublication) {
                from(components.java)
            }
        }
    }
}
Ejemplo de uso de Kotlin DSL para un paquete único en el mismo repositorio
plugins {
    `maven-publish`
}

publishing {
    repositories {
        maven {
            name = "GitHubPackages"
            url = uri("https://maven.pkg.github.com/OWNER/REPOSITORY")
            credentials {
                username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME")
                password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN")
            }
        }
    }
    publications {
        register("gpr") {
            from(components["java"])
        }
    }
}
Ejemplo de uso de Kotlin DSL para múltiples paquetes en el mismo repositorio
plugins {
  `maven-publish` apply false
  }

  subprojects {
  apply(plugin = "maven-publish")
  configure {
  repositories {
  maven {
  name = "GitHubPackages"
  url = uri("https://maven.pkg.github.com/OWNER/REPOSITORY")
  credentials {
  username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME")
  password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN")
  }
  }
  }
  publications {
  register("gpr") {
  from(components["java"])
  }
  }
  }
  }

Autenticarse con el GITHUB_TOKEN

Si estás utilizando un flujo de trabajo de GitHub Actions, puedes utilizar un GITHUB_TOKEN para publicar y consumir paquetes en GitHub Packages sin que necesites almacenar y administrar un token de acceso personal. Para obtener más información, consulta la sección "Autenticarse con el GITHUB_TOKEN".

Para obtener más información acerca del uso de GITHUB_TOKEN con Maven, consulta "Publicar paquetes Java con Maven".

Publicar un paquete

Predeterminadamente, GitHub publica el paquete en un repositorio existente con el mismo nombre que éste. Por ejemplo, GitHub publicará un paquete denominado com.example.test en el repositorio OWNER/test GitHub Packages.

Después de que publiques un paquete, puedes verlo en GitHub. Para obtener más información, consulta "Visualizar paquetes".

  1. Autentícate en GitHub Packages. Para obtener más información, consulta "Autenticar a GitHub Packages."

  2. Después de crear tu paquete, puedes publicar el paquete.

    $ gradle publish

Instalar un paquete

Puedes instalar un paquete agregando el paquete como una dependencia a tu proyecto. Para obtener más información, consulta "Declarar dependencias" en la documentación de Gradle.

  1. Autentícate en GitHub Packages. Para obtener más información, consulta "Autenticar a GitHub Packages."

  2. Agrega las dependencias del paquete a tu archivo build.gradle (Gradle Groovy) o archivo build.gradle.kts (Kotlin DSL).

    Ejemplo de uso de Grady Groovy:

    dependencies {
    implementation 'com.example:package'
    }

    Ejemplo de uso de Kotlin DSL:

    dependencies {
    implementation("com.example:package")
    }
  3. Agrega el complemento Maven a tu archivo build.gradle (Gradle Groovy) o archivo build.gradle.kts (Kotlin DSL).

    Ejemplo de uso de Grady Groovy:

    plugins {
    id 'maven'
    }

    Ejemplo de uso de Kotlin DSL:

    plugins {
    `maven`
    }
  4. Instala el paquete.

    $ gradle install

Leer más

Pregunta a una persona

¿No puedes encontrar lo que estás buscando?

Contáctanos