Skip to main content

Introducción a los paquetes de GitHub

GitHub Packages es un servicio de alojamiento de paquete de software que te permite alojar tus paquetes de software de forma privada o pública y usar paquetes como dependencias en tus proyectos.

¿Quién puede utilizar esta característica?

GitHub Packages está disponible con GitHub Free, GitHub Pro, GitHub Free para organizaciones, GitHub Team, GitHub Enterprise Cloud y GitHub Enterprise Server 3.0 o superior
GitHub Packages no está disponible para repositorios privados que pertenezcan a cuentas que utilicen planes tradicionales por repositorio. Además, las cuentas que usan planes heredados por repositorio no pueden acceder a los registros que admiten permisos granulares, ya que estas cuentas se facturan por repositorio. Para obtener la lista de registros que admiten permisos granulares, consulte "Acerca de los permisos para los Paquetes de GitHub". Para más información, consulta "Planes de GitHub".

Acerca de GitHub Packages

GitHub Packages es una plataforma para hospedar y administrar paquetes, incluidos contenedores y otras dependencias. GitHub Packages combina tu código fuente y paquetes en un solo lugar para proporcionar una administración de permisos y facturación integradas, para que puedas centralizar tu desarrollo de software en GitHub.

Puedes integrar el GitHub Packages con las API de GitHub. GitHub Actions y webhooks para crear un flujo de trabajo de DevOps de punto a punto que incluya tu código, IC y soluciones de despliegue.

El GitHub Packages ofrece diversos registros de paquetes para los adminsitradores de paquetes que se utilizan comunmente, tales como npm, RubyGems, Apache Maven, Gradle, Docker, y NuGet. El Container registry de GitHub se optimiza para los contenedores y es compatible con imágenes de Docker y OCI. Para obtener más información sobre los diferentes registros de paquete que son compatibles con el GitHub Packages, consulta "Trabajar con un registro de Paquetes de GitHub."

Puedes ver el README de un paquete, así como los metadatos tales como el licenciamiento, estadísticas de descarga, historial de la versión y más en GitHub. Para obtener más información, vea «Visualizar paquetes».

Resumen de los permisos de los paquetes

Los permisos de un paquete se heredan del repositorio en el que se hospeda o se pueden definir para usuarios u organizaciones específicas. Algunos registros solo admiten permisos heredados de un repositorio. Para obtener una lista de estos registros, consulta "Acerca de los permisos para los Paquetes de GitHub". Para obtener más información sobre el acceso a paquetes, consulta "Configurar la visibilidad y el control de accesos de un paquete".

Información general sobre la visibilidad de paquetes

Puedes publicar paquetes en un repositorio público (paquetes públicos) para compartir con todo GitHub, o bien en un repositorio privado (paquetes privados) para compartir con colaboradores o con una organización.

Acerca de la facturación para GitHub Packages

El uso de GitHub Packages es gratuito para los paquetes públicos. En el caso de los paquetes privados, cada cuenta de GitHub recibe una determinada cantidad de almacenamiento y transferencia de datos gratuitos, en función del plan de la cuenta. Cualquier uso que supere las cantidades incluidas se controla mediante límites de gasto. Si eres un cliente que factura mensualmente, tu cuenta tendrá un límite de gastos predeterminado de 0 dólares Estadounidenses (USD), lo cual previene el uso adicional de almacenamiento o transferencia de datos después de que alcanzas las cantidades que se incluyen. Si paga su cuenta mediante factura, la cuenta tendrá un límite de gasto predeterminado ilimitado. Para obtener más información, consulta "Acerca de la facturación para GitHub Packages".

Formatos y clientes admitidos

GitHub Packages usa los comandos de herramientas del paquete nativo con los que ya estás familiarizado para publicar e instalar versiones del paquete.

Soporte para los registros de paquetes

IdiomaDescripciónFormato del paqueteCliente del paquete
JavaScriptGestor de paquetes Nodepackage.jsonnpm
RubyGestor de paquetes RubyGemsGemfilegem
JavaHerramienta de administración y comprensión Apache Mavenpom.xmlmvn
JavaHerramienta de automatización de construcción Gradle para Javabuild.gradle o build.gradle.ktsgradle
.NETAdministración del paquete NuGet para .NETnupkgdotnet CLI
N/DPlataforma de administración del contenedor DockerDockerfileDocker

Para obtener más información sobre cómo configurar tu cliente de paquete para utilizarlo con el GitHub Packages, consulta "Trabajar con un registro de Paquetes de GitHub."

Para obtener más información sobre Docker y Container registry, consulta "Trabajar con el registro de contenedores".

Autenticar a GitHub Packages

GitHub Packages solo admite la autenticación mediante un personal access token (classic). Para obtener más información, vea «Administración de tokens de acceso personal».

Necesitas un token de acceso para publicar, instalar y eliminar paquetes privados, internos y públicos.

Puedes usar un personal access token (classic) para autenticarte en GitHub Packages o en la API de GitHub. Cuando creas un personal access token (classic), puedes asignar al token diferentes ámbitos en función de tus necesidades. Para más información sobre los ámbitos relacionados con paquetes para un personal access token (classic), consulta "Acerca de los permisos para los Paquetes de GitHub".

Para autenticarte en un registro del GitHub Packages dentro de un flujo de trabajo de GitHub Actions, puedes utilizar:

  • GITHUB_TOKEN para publicar los paquetes asociados con el repositorio del flujo de trabajo.
  • Un personal access token (classic) con, al menos, ámbito de read:packages para instalar los paquetes asociados con otros repositorios privados (a los cuales no puede acceder GITHUB_TOKEN).

Para más información sobre el uso de GITHUB_TOKEN en flujos de trabajo de GitHub Actions, consulta "Autenticación automática de tokens".

Administración de paquetes

Puedes eliminar un paquete en la interfaz de usuario de GitHub o mediante la API REST. Para obtener más información, consulta "Borrar y restablecer un paquete" y "Puntos de conexión de API REST para paquetes". En determinados registros, se puede usar GraphQL para eliminar una versión de un paquete privado.

No se puede usar GraphQL API de GitHub Packages con registros que admiten permisos detallados. Para los registros que solo admiten permisos con ámbito de repositorio y que se pueden usar con GraphQL API, consulta "Acerca de los permisos para los Paquetes de GitHub".

Cuando usas la API de GraphQL para consultar y eliminar paquetes privados, debes usar el mismo personal access token (classic) que usas para autenticarte en GitHub Packages.

Para más información, consulta "Formar llamados con GraphQl".

Puedes configurar webhooks para suscribirte a eventos relacionados con paquetes, como cuando se publica o se actualiza un paquete. Para obtener más información, consulta el "Eventos y cargas de webhook".

Contactando con el soporte técnico

Si tienes comentarios o solicitudes de características para GitHub Packages, usa una discusión de GitHub Community.

Ponte en contacto con nosotros mediante Portal de soporte de GitHub acerca de GitHub Packages si:

  • Experimentas alguna cosa que contradice la documentación
  • Encuentras errores vagos o poco claros
  • Tu paquete publicado contiene datos confidenciales, como violaciones del RGPD, claves de API o información de identificación personal