Résumé

Effectué

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 :

  1. Configurer l’authentification : Créez des PAT avec des étendues appropriées pour votre équipe.
  2. Publier le premier package : Choisissez un registre et publiez un package de test.
  3. Configurer les consommateurs : Configurez des projets pour installer des packages à partir de GitHub Packages.
  4. Automatiser la publication : Créez des flux de travail GitHub Actions pour la publication automatisée.
  5. Configurer le contrôle d’accès : Définissez la visibilité et les autorisations en fonction des besoins de sécurité.
  6. 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

Guides spécifiques au Registre

Sécurité et bonnes pratiques

API et automatisation

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.