Acerca de GitHub Packages
GitHub Packages es una plataforma para hospedar y administrar paquetes, incluidos los contenedores y otras dependencias.
GitHub Packagescombina el código fuente y los paquetes en un solo lugar para proporcionar administración y facturación de permisos integrados, por lo que puede centralizar el desarrollo de software en GitHub.
Puede integrar GitHub Packages con las API, GitHub Actions y webhooks de GitHub para crear un flujo de trabajo DevOps de punta a punta que incluya su código, CI y soluciones de implementación.
GitHub Packages ofrece registros de paquetes diferentes para administradores de paquetes usados habitualmente, como npm, RubyGems, Apache Maven, Gradle, Docker y NuGet.
GitHub
Container registry Está optimizado para contenedores y admite imágenes de Docker y OCI. Para obtener más información sobre los distintos registros de paquetes compatibles GitHub Packages , consulte [AUTOTITLE](/packages/working-with-a-github-packages-registry).
Puede ver el archivo Léame de un paquete, así como los metadatos como las licencias, las estadísticas de descarga, el historial de versiones y mucho más en GitHub. Para más información, consulta 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 los artefactos vinculados para organizaciones
linked artifacts page es una vista alternativa a la que también puede acceder en la sección "Paquetes" de la configuración de una organización.
Al igual que GitHub Packages, la linked artifacts page permite recopilar la información de las compilaciones de tu organización en un solo lugar. Los equipos pueden utilizar el linked artifacts page para encontrar el código fuente de un artefacto, los detalles de compilación y el historial de implementación.
A diferencia de GitHub Packages, linked artifacts pageno hospeda el paquete ni los archivos de imagen por sí mismos. En su lugar, proporciona un origen autoritativo para los metadatos asociados a cada paquete o imagen.
Su organización puede beneficiarse de usar cualquiera de las linked artifacts page siguientes opciones:
-
** ** GitHub PackagesAdemás, como una vista complementaria centrada en los aspectos de cumplimiento y seguridad del consumo de paquetes -
**Como alternativa,**GitHub Packages le permite almacenar los paquetes en un registro externo de su elección mientras mantiene la visibilidad de los paquetes en GitHub
Para más información, consulta Acerca de los artefactos vinculados.
Acerca de la facturación de GitHub Packages
El uso de GitHub Packages es gratuito para los paquetes públicos.
Para los paquetes privados, cada cuenta de GitHub recibe una 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 presupuestos.
Si tu cuenta no tiene un método de pago válido en el archivo, el uso se bloqueará una vez que uses la cuota.
Si tienes una forma de pago válida, el gasto puede estar limitado por uno o varios presupuestos. Comprueba los presupuestos establecidos para tu cuenta a fin de asegurarte de que son adecuados para tus necesidades de uso. Consulta Configuración de presupuestos para controlar el gasto en productos medidos.
Para más información, consulta facturación de paquetes de GitHub.
Clientes y formatos admitidos
GitHub Packages usa los comandos de herramientas de paquetes nativos con los que ya está familiarizado para publicar e instalar versiones de paquetes.
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 gestión y comprensión de proyectos 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 |
Nota:
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 el cliente de paquete para su uso con GitHub Packages, vea Trabajar con un registro de Paquetes de GitHub.
Para obtener más información sobre Docker y Container registry, vea Trabajar con el registro de contenedores.
Autenticación en GitHub Packages
Nota:
GitHub Packages solo admite la autenticación mediante un personal access token (classic). Para más información, consulta Administración de tokens de acceso personal.
Necesitas un token de acceso para publicar, instalar y eliminar paquetes privados, internos y públicos.
Puedes utilizar un personal access token (classic) para autenticarte en el 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_TOKENpara publicar los paquetes asociados con el repositorio del flujo de trabajo.- Un personal access token (classic) con al menos alcance
read:packagespara instalar los paquetes asociados con otros repositorios privados (GITHUB_TOKENpuede utilizarse si el repositorio tiene acceso de lectura al paquete. Consulta Configurar la visibilidad y el control de accesos de un paquete).
Para más información sobre el uso de GITHUB_TOKEN en flujos de trabajo de GitHub Actions, consulta Uso de GITHUB_TOKEN para la autenticación en flujos de trabajo.
Administración de paquetes
Puede eliminar un paquete en la GitHub interfaz de usuario o mediante la API REST. Para más información, consulta Borrar y restablecer un paquete y el Puntos de conexión de API REST para paquetes. En determinados registros, puedes usar GraphQL para eliminar una versión de un paquete privado.
No puedes 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 la GraphQL API, consulta Acerca de los permisos para los Paquetes de GitHub.
Al usar GraphQL API para consultar y eliminar paquetes privados, debe usar el mismo personal access token (classic) que se usa para autenticarse en GitHub Packages.
Para obtener más información, consulte 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 tiene comentarios o solicitudes de características para GitHub Packages, use una GitHub Community discusión.
Póngase en contacto con nosotros a través de Portal de soporte de GitHub sobre 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