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 "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 Enterprise Cloud. 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
Idioma | Descripción | Formato del paquete | Cliente del paquete |
---|---|---|---|
JavaScript | Gestor de paquetes Node | package.json | npm |
Ruby | Gestor de paquetes RubyGems | Gemfile | gem |
Java | Herramienta de administración y comprensión Apache Maven | pom.xml | mvn |
Java | Herramienta de automatización de construcción Gradle para Java | build.gradle o build.gradle.kts | gradle |
.NET | Administración del paquete NuGet para .NET | nupkg | dotnet CLI |
N/D | Plataforma de administración del contenedor Docker | Dockerfile | Docker |
Note
Los registros de Apache Maven y Gradle no están disponibles para Nube de GitHub Enterprise con residencia de datos.
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 accederGITHUB_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 Enterprise Cloud 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