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 Apache Maven para usar con el Paquete de registro de GitHub

Puedes publicar un paquete Apache Maven en Registro del paquete de GitHub y usarlo como una dependencia en un proyecto Java.

Registro del paquete de GitHub se encuentra actualmente disponible en la versión beta de acceso público limitado. Para obtener más información, consulta "Acerca de Registro del paquete de GitHub."

En este artículo

Autenticar a Registro del paquete de GitHub

Debes usar un token de acceso personal con los alcances read:packages y write:packages para publicar y eliminar paquetes públicos en el Registro del paquete de GitHub con Apache Maven. Tu token de acceso personal también debe tener el alcance repo cuando el repositorio es privado. Para obtener más información, consulta "Crear un token de acceso personal para la línea de comando".

Configura Apache Maven para usar tu token cuando subas nuevos paquetes mediante la edición de tu archivo ~/.m2/settings.xml, o la creación de uno, si no existe. El archivo debe ser similar al ejemplo a continuación. Reemplaza USERNAME con tu nombre de usuario de GitHub, TOKEN con tu token de acceso personal y OWNER con el nombre de usuario u organización de GitHub que contiene el repositorio desde el que publicarás el paquete o desde el que instalarás los paquetes.

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <activeProfiles>
    <activeProfile>github</activeProfile>
  </activeProfiles>

  <profiles>
    <profile>
      <id>github</id>
      <repositories>
        <repository>
          <id>central</id>
          <url>https://repo1.maven.org/maven2</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
          <id>github</id>
          <name>GitHub OWNER Apache Maven Packages</name>
          <url>https://maven.pkg.github.com/OWNER</url>
        </repository>
      </repositories>
    </profile>
  </profiles>

  <servers>
    <server>
      <id>github</id>
      <username>USERNAME</username>
      <password>TOKEN</password>
    </server>
  </servers>
</settings>

También puedes usar un GITHUB_TOKEN para publicar y consumir paquetes en el Registro del paquete de GitHub de un flujo de trabajo de Acciones de GitHub sin almacenar ni administrar un token de acceso personal. Para obtener más información acerca de GITHUB_TOKEN, consulta "GITHUB_TOKEN secret".

Puedes usar un script para insertar tu GITHUB_TOKEN en el archivo de configuración adecuado para el Registro del paquete de GitHub. Agrega el Registro del paquete de GitHub como repositorio o registro alternativo en el archivo de configuración para el cliente del paquete, además de tu nombre de usuario de GitHub y un token de acceso personal con los alcances adecuados. Los pasos exactos para crear un archivo de configuración varían por tipo de paquete.

Publicar un paquete

Cuando publicas, el paquete se crea de manera predeterminada en un repositorio con el mismo nombre que el nombre del paquete. Por ejemplo, un paquete llamado com.example.test se publicaría en el repositorio OWNER/test Registro del paquete de GitHub.

Si deseas publicar varios paquetes en el mismo repositorio, puedes incluir la URL en el repositorio Registro del paquete de GitHub en la sección <scm> de pom.xml. Registro del paquete de GitHub coincidirá con el repositorio basado en ese campo.

Para obtener más información sobre cómo crear tu paquete, consulta la documentación de maven.apache.org.

Dado que el nombre del repositorio es parte de la sección de Administración de distribución, no hay pasos adicionales para publicar múltiples paquetes en el mismo repositorio.

  1. Edita el archivo pom.xml situado en el directorio de tu paquete. Debe ser similar al ejemplo a continuación. Reemplaza OWNER en <url> con el nombre de usuario o la organización de Registro del paquete de GitHub que contiene el repositorio donde publicarás el paquete o desde donde instalarás los paquetes. ReemplazaREPOSITORY con el nombre del repositorio:

    <distributionManagement>
       <repository>
         <id>github</id>
         <name>GitHub OWNER Apache Maven Packages</name>
         <url>https://maven.pkg.github.com/OWNER/REPOSITORY</url>
       </repository>
    </distributionManagement>
  2. Una vez que creaste tu paquete y estás listo para publicarlo en tu usuario u organización Registro del paquete de GitHub, ejecuta:

    $ mvn deploy
  3. Puedes acceder a tus paquetes desde esta URL reemplazando OWNER por el nombre de tu organización o tu nombre de usuario de GitHub y reemplazando REPOSITORY por el nombre de tu repositorio:

https://github.com/OWNER/REPOSITORY/packages

Recibir eventos de registro de paquetes

Puedes recibir eventos de webhooks cuando un paquete se publica o se actualiza. Para obtener más información, consulta "RegistryPackageEvent" en la documentación del programador de GitHub.

Instalar un paquete

  1. Configura Apache Maven para autenticar a Registro del paquete de GitHub al editar tu ~/.m2/settings.xml. Para obtener más información, consulta "Autenticar a Registro del paquete de GitHub".

  2. Agrega las dependencias del paquete a tu pom.xml. Por ejemplo, este nodo de dependencias de un pom.xml usa el paquete com.example.test:

    <dependencies>
      <dependency>
        <groupId>com.example</groupId>
        <artifactId>test</artifactId>
        <version>1.0.0</version>
      </dependency>
    </dependencies>
  3. Instala el paquete.

    $ mvn install

Para obtener más información acerca del uso de un pom.xml en tu proyecto, consulta "Introducción a POM" en la documentación de Apache Maven.

Eliminar un paquete

To avoid breaking projects that may depend on your packages, Registro del paquete de GitHub does not support deleting published versions of a package or an entire published package for public repositories. En circunstancias especiales, como cuando existen motivos legales o para cumplir con los estándares del GDPR, puedes solicitar la eliminación de un paquete a través del Soporte de GitHub. Contáctate con el Soporte de GitHub usando nuestro formulario de contacto y el asunto "Registro del paquete de GitHub".

You can delete private packages via GitHub's API. For more information, see "Access to package version deletion" in la documentación del programador de GitHub.

Leer más

Pregunta a una persona

¿No puedes encontrar lo que estás buscando?

Contáctanos