Skip to main content
Nous publions des mises à jour fréquentes de notre documentation, et la traduction de cette page peut encore être en cours. Pour obtenir les informations les plus actuelles, consultez la documentation anglaise.

Présentation de GitHub Packages

GitHub Packages est un service d’hébergement de packages logiciels qui vous permet d’héberger vos packages logiciels en privé ou publiquement et d’utiliser les packages logiciels comme dépendances dans vos projets.

À propos de GitHub Packages

GitHub Packages est une plateforme pour l’hébergement et la gestion des packages, y compris les conteneurs et d’autres dépendances. GitHub Packages combine votre code source et vos packages à un emplacement unique pour intégrer la gestion des autorisations, et ainsi vous permettre de centraliser votre développement logiciel sur GitHub Enterprise Server.

Vous pouvez intégrer GitHub Packages aux API GitHub Enterprise Server, à GitHub Actions et aux webhooks pour créer un workflow DevOps de bout en bout qui inclut vos code, CI et solutions de déploiement.

GitHub Packages offre différents registres de packages pour les gestionnaires de packages couramment utilisés, comme npm, RubyGems, Apache Maven, Gradle, Docker et NuGet. Pour plus d’informations sur les différents registres de packages pris en charge par GitHub Packages, consultez « Utilisation d’un registre GitHub Packages ».

Diagramme montrant la prise en charge des packages pour le registre Docker, RubyGems, npm, Apache Maven, Gradle, NuGet et Docker

Vous pouvez afficher le fichier LISEZMOI d’un package ainsi que les métadonnées telles que les licences, les statistiques de téléchargement, l’historique des versions, etc. sur GitHub Enterprise Server. Pour plus d’informations, consultez « Affichage de packages ».

Pour plus d’informations sur la configuration de GitHub Packages sur GitHub Enterprise Server, consultez « Bien démarrer avec GitHub Packages pour votre entreprise ».

Vue d’ensemble des autorisations et de la visibilité de package

AutorisationsLes autorisations d’un package sont héritées du dépôt dans lequel le package est hébergé, ou peuvent être définies pour des comptes d’utilisateur ou d’organisation spécifiques. Certains registres prennent uniquement en charge les autorisations héritées d’un dépôt. Pour obtenir la liste de ces registres, consultez « À propos des autorisations pour GitHub Packages ». Pour plus d’informations sur l’accès aux packages, consultez « Configuration du contrôle d’accès et de la visibilité d’un package ».
VisibilitéVous pouvez publier des packages dans un dépôt public (packages publics) à partager avec tout le monde dans votre entreprise, ou dans un dépôt privé (packages privés) à partager avec des collaborateurs ou une organisation.

Clients et formats pris en charge

GitHub Packages utilise les commandes d’outils de package natif que vous connaissez déjà pour publier et installer des versions de package.

Prise en charge des registres de packages

LangageDescriptionFormat du packageClient de package
JavaScriptGestionnaire de package de nœudpackage.jsonnpm
RubyGestionnaire de package RubyGemsGemfilegem
JavaOutil de gestion de projets et d’inclusion Apache Mavenpom.xmlmvn
JavaOutil d’automatisation de génération Gradle pour Javabuild.gradle ou build.gradle.ktsgradle
.NETGestion des packages NuGet pour .NETnupkgdotnet CLI
N/AGestion des conteneurs DockerDockerfileDocker

Remarque : Lorsque vous activez le registre Docker, nous vous recommandons vivement d’activer également l’isolation des sous-domaines. Pour plus d’informations, consultez « Activation de l’isolation de sous-domaine ».

Pour plus d’informations sur la configuration de votre client de package à utiliser avec GitHub Packages, consultez « Utilisation d’un registre GitHub Packages ».

Authentification auprès de GitHub Packages

Vous avez besoin d’un jeton d’accès pour publier, installer et supprimer des packages privés, internes et publics.

Vous pouvez utiliser un personal access token pour vous authentifier sur GitHub Packages ou l’API GitHub Enterprise Server. Quand vous créez un personal access token, vous pouvez l’attribuer à différentes étendues selon vos besoins. Pour plus d’informations sur les étendues liées aux packages pour un personal access token, consultez « À propos des autorisations pour les packages GitHub ».

Pour vous authentifier sur un registre GitHub Packages dans un workflow GitHub Actions, vous pouvez utiliser :

  • GITHUB_TOKEN pour publier des packages associés au dépôt du workflow.
  • un personal access token avec au moins l’étendue read:packages pour installer des packages associés à d’autres dépôts privés (auxquels GITHUB_TOKEN ne peut pas accéder).

Pour plus d’informations sur le GITHUB_TOKEN utilisé dans les workflows GitHub Actions, consultez « Authentification dans un workflow ».

Gérer les packages

Vous pouvez supprimer un package dans l’interface utilisateur GitHub Enterprise Server. Pour certains registres, vous pouvez utiliser GraphQL pour supprimer une version d’un package privé.

Vous ne pouvez pas utiliser l’API GraphQL GitHub Packages avec des registres qui prennent en charge les autorisations granulaires. Pour les registres qui prennent uniquement en charge les autorisations limitées au dépôt et qui peuvent être utilisés avec l’API GraphQL, consultez « À propos des autorisations pour GitHub Packages ».

Lorsque vous utilisez l’API GraphQL pour interroger et supprimer des packages privés, vous devez utiliser le même personal access token que celui que vous utilisez pour vous authentifier auprès de GitHub Packages.

Pour plus d’informations, consultez « Suppression et restauration d’un package » et « Formation d’appels avec GraphQL ».

Vous pouvez configurer des webhooks pour vous abonner à des événements liés à un package, par exemple lorsqu’un package est publié ou mis à jour. Pour plus d’informations, consultez l’« événement de webhook package ».

Contact du support

Si vous avez besoin de support pour GitHub Packages, contactez les administrateurs de votre site.