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 Paquetes de GitHub y utilizar paquetes almacenados en Paquetes de GitHub como dependencias en un proyecto Java.

Paquetes de GitHub is available with GitHub Free, GitHub Pro, GitHub Free for organizations, GitHub Team, GitHub Enterprise Cloud, Servidor de GitHub Enterprise 2.22, and GitHub One.


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

En este artículo

¿Te ayudó este documento?

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

O, learn how to contribute.

Nota: Cuando instalas o publicas una imagen de docker, Paquetes de GitHub no es compatible con capas externas, tales como imágenes de Windows.

Autenticar a Paquetes de GitHub

Necesitas de un token de acceso para publicar, instalar, y borrar paquetes en Paquetes de GitHub. Puedes utilizar un token de acceso personal para autenticarte con tu nombre de usuario directamente en Paquetes de GitHub o en la API de GitHub. Cuando creas un token de acceso personal, puedes asignar al token diferentes ámbitos en función de tus necesidades.

To authenticate using a GitHub Actions workflow:

  • For package registries (PACKAGE-REGISTRY.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME), you can use a GITHUB_TOKEN.
  • For the container registry (ghcr.io/OWNER/IMAGE-NAME), you must use a personal access token.

Autenticando con un token de acceso personal

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

Puedes autenticar a Paquetes de GitHub 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: Paquetes de GitHub 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 Paquetes de GitHub."

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"])
        }
    }
} ?: 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"])
  }
  }
  }
  } ?: 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 Paquetes de GitHub 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 Paquetes de GitHub.

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

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

  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 Paquetes de GitHub. Para obtener más información, consulta "Autenticar a Paquetes de GitHub."

  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

¿Te ayudó este documento?

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

O, learn how to contribute.