Qu’est-ce que GitHub Packages ?
GitHub Packages est un service de gestion de package qui facilite la publication de packages publics ou privés en regard de votre code source.
Remarque
Si vous n’êtes pas déjà familiarisé avec GitHub, consultez le module Introduction à GitHub Learn.
GitHub Packages est un registre de packages
Les packages GitHub vous permettent de partager vos dépendances de projet au sein de votre organisation ou publiquement.
Lorsque vous travaillez sur un projet qui a des dépendances de package, il est important que vous les approuvez, comprenez leur code et connectez-vous à la communauté qui les a créées. Au sein des organisations, vous devez également être en mesure de trouver rapidement ce qui a été approuvé pour votre utilisation.
Les packages GitHub utilisent la même interface GitHub familière pour rechercher des packages publics n’importe où sur GitHub ou des packages privés au sein de votre organisation ou référentiels.
Gestionnaire de package standard
GitHub Packages est compatible avec les clients courants de gestion des packages. Vous pouvez donc publier des packages avec votre choix d’outils. Si votre référentiel est plus complexe, vous devrez peut-être publier plusieurs packages de différents types. Vous pouvez également utiliser des webhooks ou des actions GitHub pour personnaliser entièrement vos flux de travail de publication et d'après-publication.
Publiez-vous un package open source ? De nombreux projets open source stockent leur code sur GitHub. Vous pouvez donc publier des versions préliminaires de vos packages à des fins de test au sein de votre communauté, puis promouvoir facilement des versions spécifiques dans le registre public de votre choix.
Au moment de l’écriture, GitHub Packages est compatible avec les gestionnaires de package suivants :
- npm, gestionnaire de package NodeJS
- NuGet, gestionnaire de package .NET
- RubyGems, un gestionnaire de package Ruby
- Maven et Gradle, deux gestionnaires de packages pour Java
GitHub Packages est également un registre de conteneurs
Des applications complètes aux utilitaires CLI, les conteneurs sont une autre forme de distribution de code. Les packages GitHub vous permettent de publier et de distribuer des images conteneur. Une fois publiées (en public ou en privé), vous pouvez utiliser ces images à partir de n’importe où, notamment :
- Dans votre environnement de développement local
- En tant qu'image de base de votre environnement de développement GitHub Codespaces
- En tant qu'étape à exécuter dans votre flux de travail d'intégration continue (CI) / de déploiement continu (CD) avec GitHub Actions
- Sur un serveur ou un service cloud
Comparer des packages GitHub à des versions GitHub
Les packages GitHub sont utilisés pour publier des versions de vos bibliothèques sur un flux de package standard ou un registre de conteneurs. Ils sont destinés à tirer parti des façons dont le client de gestion de package spécifique fonctionne avec ce flux, comme la liaison vers le référentiel dans lequel le package a été créé, ainsi que la version du code utilisé.
Les versions GitHub sont utilisées pour publier un ensemble de logiciels empaquetés, ainsi que des notes de publication et des liens vers des fichiers binaires. Vous pouvez télécharger ces versions directement à partir de leur URL unique et les suivre jusqu’à la validation spécifique à partir de laquelle elles ont été créées. Vous pouvez uniquement télécharger des versions au format de fichiers tarballs ou ZIP.
Identité unifiée et autorisations
Supposons que vous travaillez sur un projet à l’aide de GitHub pour héberger du code source : JavaScript pour le serveur frontal, avec npm et Java pour le serveur principal. Vous conservez maintenant au moins trois ensembles différents d’informations d’identification et d’autorisations utilisateur : pour les référentiels Git, npm et Maven.
Avec GitHub Packages, vous pouvez utiliser un ensemble unique d’informations d’identification dans votre référentiel de code source, votre registre npm privé et votre registre privé Maven ou Gradle. Les packages publiés via GitHub héritent de la visibilité et des autorisations affectées au niveau du référentiel. Un nouveau membre de l’équipe a besoin d’un accès en lecture à un package et à son code ? Donnez-leur un accès en lecture au référentiel et c’est fait !
Générer et publier des packages à partir de GitHub
GitHub Actions est une autre fonctionnalité GitHub qui vous permet d’automatiser vos workflows logiciels. Vous pouvez générer, tester et déployer votre code directement à partir de GitHub.
Conseil / Astuce
Si vous souhaitez en savoir plus sur GitHub Actions, consultez le module d'apprentissage Construisez des flux de travail d'intégration continue (CI) en utilisant GitHub Actions.
En combinant GitHub Actions et GitHub Packages, vous pouvez créer un flux de travail qui générera et testera votre code, puis le publiez sur GitHub Packages en transmettant simplement du code à votre dépôt.
Dans l’unité suivante, nous allons apprendre à utiliser notre flux de travail pour publier sur GitHub Packages et GitHub Container Registry.