¿Qué es Paquetes de GitHub?

Completado

GitHub Packages es un servicio de administración de paquetes que facilita la publicación de paquetes públicos o privados junto con el código fuente.

Nota:

Si aún no está familiarizado con GitHub, consulte el módulo de aprendizaje Introducción a GitHub.

Paquetes de GitHub, un registro de paquetes

GitHub Packages permite compartir las dependencias de un proyecto en la organización o de forma pública.

Al trabajar en un proyecto que presente dependencias de paquetes, es importante que estos sean de confianza, así como entender su código y conectar con la comunidad que los haya compilado. Dentro de las organizaciones, también debe poder encontrar rápidamente lo que se ha aprobado para su uso.

Los paquetes de GitHub usan la misma interfaz familiar de GitHub para encontrar paquetes públicos en cualquier lugar de GitHub, o paquetes privados dentro de su organización o repositorios.

Un administrador de paquetes estándar

GitHub Packages es compatible con los clientes de administración de paquetes más habituales, por lo que puede publicar paquetes con las herramientas que prefiera. Si el repositorio es más complejo, puede que tenga que publicar varios paquetes de tipos diferentes. También puede usar webhooks o Acciones de GitHub para personalizar completamente los flujos de trabajo de publicación y los posteriores a esta.

¿Quiere publicar un paquete de código abierto? Muchos proyectos de código abierto almacenan su código en GitHub, por lo que se pueden publicar versiones preliminares de los paquetes para realizar pruebas en la comunidad y, después, promover fácilmente versiones específicas en el registro público que prefiera.

GitHub n p m package page, with description, and instructions about how to install it.

En el momento de la escritura, Paquetes de GitHub es compatible con los administradores de paquetes siguientes:

  • npm, administrador de paquetes de NodeJS
  • NuGet, administrador de paquetes de .NET
  • RubyGems, administrador de paquetes de Ruby
  • Maven y Gradle, dos administradores de paquetes de Java

Paquetes de GitHub, también un registro de contenedores

Desde las aplicaciones completas hasta las utilidades de la CLI, los contenedores son otra forma de distribuir el código. Paquetes de GitHub permite publicar y distribuir imágenes de contenedores. Una vez publicadas, en público o en privado, estas imágenes se pueden usar desde cualquier lugar, incluidos los siguientes:

  • En el entorno de desarrollo local
  • Como una imagen base del entorno de desarrollo de GitHub Codespaces
  • Como paso para ejecutar en el flujo de trabajo de integración continua (CI) o implementación continua (CD) con Acciones de GitHub
  • En un servidor o un servicio en la nube

GitHub container image page, with image versions listing, statistics and instructions about how to install it.

Comparación entre los paquetes de GitHub y las versiones de GitHub

Los GitHub Packages se usan para publicar versiones de las bibliotecas en una fuente de paquetes o un registro de contenedor estándares. Están diseñados para aprovechar las formas en que el cliente de administración de paquetes específico funciona con esa fuente, como la vinculación al repositorio en el que se creó el paquete, así como la versión del código que se usó.

Las versiones de GitHub se usan para liberar un conjunto de software empaquetado, junto con las notas de la versión y los vínculos a los archivos binarios. Puede descargar esas versiones directamente desde su dirección URL única y realizar un seguimiento de ellas a la confirmación específica desde la que se crearon. Solo puede descargar versiones como tarballs o archivos ZIP.

Identidad y permisos unificados

Supongamos que trabaja en un proyecto con GitHub para hospedar código fuente, JavaScript para el front-end con npm y Java para el back-end. Ahora mantiene al menos tres conjuntos diferentes de credenciales y permisos de usuario: repositorios de Git, npm y Maven.

Gracias a GitHub Packages, ahora puede usar un único conjunto de credenciales en el repositorio de código fuente, el registro privado npm y el registro privado de Maven o Gradle. Los paquetes publicados por medio de GitHub heredan la visibilidad y los permisos asignados en el nivel de repositorio. ¿Un nuevo miembro del equipo necesita acceso de lectura a un paquete y a su código? Solo tiene que darles acceso de lectura al repositorio.

Compilación y publicación de paquetes en GitHub

Acciones de GitHub es otra característica de GitHub que le permite automatizar los flujos de trabajo de software. Puede compilar, probar e implementar el código directamente en GitHub.

Sugerencia

Si quiere obtener más información sobre Acciones de GitHub, consulte el módulo Creación de flujos de trabajo de integración continua (CI) mediante Acciones de GitHub de Learn.

Mediante la combinación de Acciones de GitHub y Paquetes de GitHub, puede crear un flujo de trabajo que permita compilar y probar el código y, después, publicarlo en Paquetes de GitHub simplemente insertando el código en el repositorio.

En la siguiente unidad, aprenderá a usar el flujo de trabajo para realizar la publicación en Paquetes de GitHub y GitHub Container Registry.