Özet

Tamamlandı

Bu modülde , GitHub içinde tam olarak tümleşik bir paket barındırma hizmeti olan GitHub Packages tanıtıldı. Güvenli paket yönetimi için izinleri ve görünürlüğü denetlerken paketleri yayımlamayı, yüklemeyi, silmeyi ve geri yüklemeyi öğrendinsiniz.

Öğrendikleriniz

Aşağıdakilerin avantajını ve kullanım şeklini öğrendiniz:

Paket yayımlama

  • Desteklenen kayıt defterleri: npm, NuGet, Maven, Gradle, RubyGems, Docker ve Container registry.
  • Kimlik doğrulama: Uygun kapsamlara sahip kişisel erişim belirteçleri (PAT) oluşturma ve kullanma.
  • Yayımlama iş akışı: Yerel araçları kullanarak kimlik doğrulaması yapın, paket meta verilerini yapılandırın ve yayımlayın.
  • NuGet yayımlama: Kimlik doğrulaması için dotnet CLI ve nuget.config dosyaları kullanma.
  • npm yayımlama: .npmrc dosyalarını yapılandırma ve kimlik doğrulaması için npm oturum açma bilgilerini kullanma.
  • Otomasyon: GitHub Actions iş akışlarıyla paketleri otomatik olarak yayımlama.
  • En iyi yöntemler: Sürüm oluşturma, belgeler, güvenlik önerileri ve meta veri eksiksizliği.

Paketleri yükleme

  • Paket keşfi: Küresel arama, kuruluşlar içinde veya depolarda arama.
  • Yükleme iş akışı: GitHub Packages'ta kimlik doğrulaması yapın ve yerel paket yöneticileriyle yükleyin.
  • NuGet yüklemesi: Visual Studio, dotnet CLI veya doğrudan .csproj düzenlemeleri kullanma.
  • npm yüklemesi: .npmrc dosyalarını, package.json bağımlılıklarını ve çok kuruluşlu desteği yapılandırma.
  • CI/CD tümleştirmesi: GITHUB_TOKEN kullanarak GitHub Actions'ta paketleri yükleme.
  • Sorun giderme: Kimlik doğrulaması, izin ve sürüm sorunlarını çözme.

Paketleri silme ve geri yükleme

  • Silme kuralları: Genel paketler için kısıtlamaları anlama (5.000 indirme sınırı).
  • İzin gereksinimleri: Depoya özgü paketler için yönetici erişimi.
  • Sürümler siliniyor: Diğer sürümleri kullanılabilir durumda tutarken belirli sürümleri kaldırma.
  • Paketlerin tamamı siliniyor: GitHub Packages'dan tüm sürümler kaldırılıyor.
  • Geri yükleme koşulları: 30 günlük pencere, ad alanı kullanılabilirliği ve izin saklama.
  • API yönetimi: Programlı paket işlemleri için REST API kullanma.
  • En iyi yöntemler: İletişim, kullanımdan kaldırma, yetkisiz kullanım süreleri ve denetim izleri.

Erişim denetimini ve görünürlüğü yapılandırma

  • İzin modelleri: Depo tarafından devralınan izinler ile ayrıntılı izinler (kapsayıcı kayıt defteri) karşılaştırması.
  • Görünürlük seçenekleri: Genel, özel ve iç (yalnızca Kurumsal) paketleri.
  • Kapsayıcı görüntüsü izinleri: Bağımsız erişim denetimiyle okuma, yazma ve yönetici rolleri.
  • Kullanıcı ve ekip erişimi: Kişilere ve ekiplere izin verme.
  • En iyi güvenlik yöntemleri: En az ayrıcalık, düzenli denetimler, ekip tabanlı erişim ve belgeler.
  • Kuruluş stratejileri: Standart görünürlük, erişim isteği işlemleri ve uyumluluk uyumluluğu.

Temel kavram özeti

GitHub Packages entegrasyonu

  • Birleşik platform: Paketler GitHub'da kaynak kodun yanında bulunur.
  • Aynı kimlik doğrulaması: Ayrı kayıt defteri hesapları yerine GitHub kimlik bilgilerini kullanın.
  • İş akışı otomasyonu: GitHub Actions ile paketleri otomatik olarak yayımlayın.
  • Birden çok kayıt defteri: Tek bir platformda npm, NuGet, Maven, Docker ve daha fazlası için destek.

Güvenlik ve erişim denetimi

  • Ayrıntılı izinler: Container kayıt defteri bağımsız erişim denetimini destekler.
  • Depo tarafından devralınan izinler: Çoğu paket türü depo erişimini izler.
  • PAT kimlik doğrulaması: Kişisel erişim belirteçlerini kullanarak kimlik doğrulamasının güvenliğini sağlama.
  • Genel ve özel: Güvenlik ve işbirliği gereksinimlerine göre görünürlük seçin.

Paket yaşam döngüsü yönetimi

  • Yayımcılık: Yerel paket araçlarıyla otomatik veya el ile yayımlama.
  • Sürüm Oluşturma: Net değişiklik iletişimi için anlamsal sürüm oluşturma.
  • Silme: Güvenlik kısıtlamalarıyla eski veya güvenlik açığı olan sürümleri kaldırın.
  • Restorasyon: Silinen paketleri 30 günlük süre içinde kurtarın.

Otomasyon avantajları

  • CI/CD tümleştirmesi: GitHub Actions ile sorunsuz tümleştirme.
  • GITHUB_TOKEN: PAT içermeyen iş akışlarında otomatik kimlik doğrulaması.
  • Tutarlı yayımlama: Her sürüm otomatik olarak bir paket oluşturur.
  • Kalite kapıları: Paketleri yayımlamadan önce testleri çalıştırın.

Sonraki Adımlar

Öğrenmeye devam edin

GitHub Packages becerilerinizi geliştirin:

  • Gelişmiş kimlik doğrulaması: Kuruluş genelinde kimlik doğrulama stratejileri uygulayın.
  • Paket tanıtımı: Kalite aşamaları aracılığıyla paketlerin tanıtılması için iş akışları geliştirin.
  • Monorepo yayımlama: Tek bir depodan birden çok paket yayımlama.
  • Güvenlik taraması: Yayımlanan paketler için güvenlik açığı taramasını tümleştirme.

Gelişmiş senaryoları keşfedin:

  • Çoklu kayıt defteri desteği: Projeleri birden çok paket kayıt defteri kullanacak şekilde yapılandırın.
  • Paket yansıtma: GitHub Packages'da dış paketleri önbelleğe alın.
  • Özel otomasyon: GitHub Actions ile gelişmiş yayımlama iş akışları oluşturun.
  • Paket analizi: Paketlerinizin kullanımını ve benimsenmesini izleyin.

Pratik uygulama

Uygulamayı başlatın:

  1. Kimlik doğrulamayı ayarlama: Ekibiniz için uygun kapsamlara sahip PAT'ler oluşturun.
  2. İlk paketi yayımla: Bir kayıt defteri seçin ve bir test paketi yayımlayın.
  3. Tüketicileri yapılandırma: GitHub Packages'tan paketleri yüklemek için projeleri ayarlayın.
  4. Yayımlamayı otomatikleştirme: Otomatik yayımlama için GitHub Actions iş akışları oluşturun.
  5. Erişim denetimini yapılandırma: Güvenlik gereksinimlerine göre görünürlüğü ve izinleri ayarlayın.
  6. Belge yordamları: Paket yönetimi için ekip yönergeleri oluşturun.

DevOps uygulamalarıyla tümleştirme

DevOps iş akışlarında GitHub Paketleri:

  • Sürekli Entegrasyon: Taahhütlerdeki paketleri otomatik olarak derleyip yayımlayın.
  • Sürekli Teslim: Paketleri dağıtım işlem hatlarında yapıt olarak kullanın.
  • Bağımlılık yönetimi: GitHub Paketlerinde iç bağımlılıkları merkezileştirin.
  • Sürüm denetimi: Kod sürümlerinin yanı sıra paket sürümlerini de izleyin.
  • Güvenlik uyumluluğu: Kuruluş ilkeleriyle uyumlu erişim denetimleri uygulayın.

Daha fazla bilgi edinin

Resmi belgeler

Kayıt defterine özgü kılavuzlar

Güvenlik ve en iyi yöntemler

API ve otomasyon

Topluluk ve destek

  • GitHub Belgeleri: Kapsamlı kılavuzları ve öğreticileri keşfedin.
  • GitHub Community: Soru sorun ve topluluktan yanıtlar alın.
  • GitHub Blogu: En son özellikler ve duyurular ile güncel kalın.
  • GitHub Becerileri: GitHub özellikleri için etkileşimli öğrenme yolları.