Skip to main content
Publicamos actualizaciones para la documentación con frecuencia y es posible que aún se esté traduciendo esta página. Para obtener la información más reciente, consulta la documentación en inglés.

Introducción a los paquetes de GitHub

GitHub Packages es un paquete de software que hospeda el servicio que te permite hospedar tus paquetes de software de forma privada o públicamente y utiliza los paquetes como dependencias en tus proyectos.

GitHub Packages está disponible con GitHub Free, GitHub Pro, GitHub Free para organizaciones, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server 3.0 o superior y GitHub AE.
GitHub Packages no está disponible para repositorios privados que pertenezcan a cuentas que utilicen planes tradicionales por repositorio. Las cuentas que utilicen los planes tradicionales por repositorio tampoco podrán acceder al Container registry ya que estas cuentas se facturan por repositorio. Para más información, vea "Productos 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 Enterprise Cloud.

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 "Uso de un registro de GitHub Packages."

Diagrama que muestra la compatibilidad de paquetes para el registro, RubyGems, npm, Apache Maven, NuGet y Gradle

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 Enterprise Cloud. Para más información, vea "Visualización de paquetes".

Resumen de los permisos y visibilidad de los paquetes

PermisosLos permisos de un paquete se heredan del repositorio en el que se hospeda o se pueden definir para cuentas de usuario u organización específicas. Algunos registros solo admiten permisos heredados de un repositorio. Para obtener una lista de estos registros, consulta "Acerca de los permisos de GitHub Packages". Para obtener más información sobre el acceso a paquetes, consulta "Configuración del control de acceso y la visibilidad de un paquete".
VisibilidadPuede publicar paquetes en un repositorio público (paquetespúblicos) para compartir con todo GitHub, o 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.com recibe cierta cantidad de almacenamiento gratuito y transferencia de datos, en función de los productos que se usen con 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 de 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 "Uso de un registro de GitHub Packages."

Para obtener más información sobre Docker y Container registry, consulta "Uso del registro de contenedor".

Autenticar a GitHub Packages

GitHub Packages solo admite la autenticación mediante un personal access token (classic). Para obtener más información, consulta "Creación de un personal access token".

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 obtener más información sobre los ámbitos relacionados con paquetes para unpersonal 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, vea "Autenticación en un flujo de trabajo".

Administración de paquetes

Puedes eliminar un paquete en la interfaz de usuario de GitHub Enterprise Cloud o mediante la API de REST. Para obtener más información, consulta "Eliminación y restauración de un paquete" y la "API de GitHub Packages". 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 de GitHub Packages".

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 obtener más información, consulta «Formar llamadas 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, vea el "evento de webhook package".

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 GitHub Support acerca de GitHub Packages con nuestro formulario de contacto 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