Résumé
Ce module vous a présenté GitHub Packages, un service d’hébergement de package entièrement intégré dans GitHub. Vous avez appris à publier, installer, supprimer et restaurer des packages tout en contrôlant les autorisations et la visibilité pour la gestion sécurisée des packages.
Ce que vous avez appris
Vous avez appris à décrire les avantages et l’utilisation des éléments suivants :
Publication de packages
- Registres pris en charge : npm, NuGet, Maven, Gradle, RubyGems, Docker et Container Registry.
- Authentification : créer et utiliser de jetons d’accès personnels (PAT) avec des étendues appropriées.
- Flux de travail de publication : Authentifiez, configurez les métadonnées du package et publiez à l’aide d’outils natifs.
- Publication NuGet : Utilisation de l’interface CLI dotnet et des fichiers nuget.config pour l’authentification.
- publication npm : Configuration des fichiers .npmrc et utilisation de la connexion npm pour l’authentification.
- Automatisation: Publication automatique de packages avec des flux de travail GitHub Actions.
- Bonnes pratiques : Contrôle de version, documentation, avis de sécurité et complétivité des métadonnées.
Installation de packages
- Découverte de package : Recherche dans le monde entier, au sein d’organisations ou dans des référentiels.
- Flux de travail d’installation : Authentifiez-vous auprès de Packages GitHub et installez-les avec des gestionnaires de packages natifs.
- Installation de NuGet : À l’aide de Visual Studio, dotnet CLI ou des modifications directes de .csproj.
- Installation de npm : Configuration des fichiers .npmrc, dépendances de package.json et prise en charge de plusieurs organisations.
- Intégration CI/CD : Installation de packages dans GitHub Actions à l’aide de GITHUB_TOKEN.
- Dépannage: Résolution des problèmes d’authentification, d’autorisation et de version.
Suppression et restauration de packages
- Règles de suppression : Comprendre les restrictions relatives aux packages publics (5 000 limites de téléchargement).
- Conditions requises pour l’autorisation : Accès administrateur pour les packages délimités au référentiel.
- Suppression de versions : Suppression de versions spécifiques tout en conservant d’autres versions disponibles.
- Suppression de packages entiers : Suppression de toutes les versions des packages GitHub.
- Conditions de restauration : fenêtre de 30 jours, disponibilité de l’espace de noms et rétention des autorisations.
- Gestion des API : Utilisation de l’API REST pour les opérations de package programmatiques.
- Bonnes pratiques : Communication, dépréciation, périodes de grâce et pistes d’audit.
Configuration du contrôle d’accès et de la visibilité
- Modèles d’autorisation : Autorisations héritées du référentiel et autorisations granulaires (registre de conteneurs).
- Options de visibilité : Packages publics, privés et internes (Entreprise uniquement).
- Autorisations d’image conteneur : lecture, écriture et rôles d’administrateur avec contrôle d’accès indépendant.
- Accès utilisateur et équipe : Octroi d’autorisations aux individus et aux équipes.
- Bonnes pratiques en matière de sécurité : Privilège minimum, audits réguliers, accès en équipe et documentation.
- Stratégies organisationnelles : Visibilité standardisée, processus de demande d’accès et alignement de conformité.
Résumé des concepts clés
Intégration des packages GitHub
- Plateforme unifiée : Les packages coexistent avec le code source sur GitHub.
- Même authentification : Utilisez les informations d’identification GitHub au lieu de comptes de Registre distincts.
- Automatisation du flux de travail : Publiez automatiquement des packages avec GitHub Actions.
- Plusieurs registres : Prise en charge de npm, NuGet, Maven, Docker et plus encore dans une plateforme.
Sécurité et contrôle d'accès
- Autorisations granulaires : Le registre de conteneurs prend en charge le contrôle d’accès indépendant.
- Autorisations héritées du référentiel : La plupart des types de packages suivent l’accès au référentiel.
- Authentification PAT : Authentification sécurisée à l’aide de jetons d’accès personnels.
- Public et privé : Choisissez une visibilité en fonction des besoins en matière de sécurité et de collaboration.
Gestion du cycle de vie des packages
- Édition: Publication automatisée ou manuelle avec des outils de package natifs.
- Contrôle de version : Contrôle de version sémantique pour la communication claire des modifications.
- Délétion: Supprimez les versions obsolètes ou vulnérables avec des restrictions de sécurité.
- Restauration: Récupérer les packages supprimés dans une fenêtre de 30 jours.
Avantages de l’automatisation
- Intégration CI/CD : Intégration transparente avec GitHub Actions.
- GITHUB_TOKEN : Authentification automatique dans les flux de travail sans paTs.
- Publication cohérente : Chaque version crée automatiquement un package.
- Portes de qualité : Exécutez des tests avant de publier des packages.
Étapes suivantes
Poursuivre l’apprentissage
Améliorez vos compétences gitHub Packages :
- Authentification avancée : Implémentez des stratégies d’authentification à l’échelle de l’organisation.
- Promotion de package : Développez des flux de travail pour promouvoir des packages via des phases de qualité.
- Publication monorepo : Publiez plusieurs packages à partir d’un référentiel unique.
- Analyse de la sécurité : Intégrez l’analyse des vulnérabilités pour les packages publiés.
Explorez les scénarios avancés :
- Prise en charge de plusieurs registres : Configurez des projets pour utiliser plusieurs registres de packages.
- Mise en miroir de packages : Mettre en cache des packages externes dans les packages GitHub.
- Automatisation personnalisée : Créez des flux de travail de publication avancés avec GitHub Actions.
- Analytique des packages : Suivez l’utilisation et l’adoption de vos packages.
Application pratique
Commencez à implémenter :
- Configurer l’authentification : Créez des PAT avec des étendues appropriées pour votre équipe.
- Publier le premier package : Choisissez un registre et publiez un package de test.
- Configurer les consommateurs : Configurez des projets pour installer des packages à partir de GitHub Packages.
- Automatiser la publication : Créez des flux de travail GitHub Actions pour la publication automatisée.
- Configurer le contrôle d’accès : Définissez la visibilité et les autorisations en fonction des besoins de sécurité.
- Procédures de document : Créez des instructions d’équipe pour la gestion des packages.
Intégration avec les pratiques DevOps
Packages GitHub dans les flux de travail DevOps :
- Intégration continue : Compiler et publier automatiquement des paquets sur des commits.
- Livraison continue : Utilisez des packages en tant qu’artefacts dans les pipelines de déploiement.
- Gestion des dépendances : Centraliser les dépendances internes dans les packages GitHub.
- Contrôle de version : Suivez les versions du package en même temps que les versions de code.
- Conformité de la sécurité : Implémentez des contrôles d’accès alignés avec les stratégies organisationnelles.
En savoir plus
Documentation officielle
- Démarrage rapide pour les packages GitHub - Prise en main rapide des packages GitHub.
- Découvrez les packages GitHub - Guide complet des concepts des packages GitHub.
- Utilisation d’un registre GitHub Packages - Guides spécifiques au Registre pour tous les types de packages pris en charge.
- À propos des autorisations pour les packages GitHub - Présentation des modèles d’autorisation et du contrôle d’accès.
Guides spécifiques au Registre
- Utilisation du registre npm - Guide de gestion des packages npm complet.
- Utilisation du registre NuGet - Guide de gestion des packages NuGet complet.
- Utilisation du registre de conteneurs - Gestion des images Docker et OCI.
- Utilisation du registre Apache Maven - Gestion des packages Maven.
- Utilisation du registre Gradle - Gestion des packages Gradle.
Sécurité et bonnes pratiques
- Configuration du contrôle d’accès et de la visibilité d’un package - Gestion de la sécurité des packages.
- Suppression et restauration d’un package - Gestion du cycle de vie des packages.
- Publication d’un package - Meilleures pratiques pour la publication de package.
- Installation d’un paquet - Meilleures pratiques pour l'utilisation des paquets.
API et automatisation
- API Packages GitHub - API REST pour la gestion des packages par programmation.
- Publication de packages avec GitHub Actions - Exemples d’intégration CI/CD.
- Utilisation de packages GitHub avec GitHub Actions - Modèles de flux de travail avancés.
Communauté et soutien
- Documentation GitHub : Explorez des guides et didacticiels complets.
- Communauté GitHub : Posez des questions et obtenez des réponses de la communauté.
- Blog GitHub : Restez à jour avec les dernières fonctionnalités et annonces.
- Compétences GitHub : Parcours d’apprentissage interactifs pour les fonctionnalités GitHub.