GitHub Enterprise özellikleri

Tamamlandı

GitHub Enterprise yöneticisi olarak hem güvenli hem de ölçeklenebilir geliştirme ortamları oluşturmak sizin sorumluluğundadır. Bu ünitede GitHub Enterprise'ın bakım ve otomasyon özellikleri arasında ayrım yapma ve kuruluşunuzu verimli işbirliği için yapılandırma işlemleri incelenmiştir.

Merkezi ilke uygulama için güçlü araçlar olan standartlara dayalı geliştirici iş akışlarını ve kural kümelerini de tanıtıyoruz.

GitHub Enterprise: Bakım vs. Otomasyon

GitHub Enterprise, GitHub Team'in tüm özelliklerinin yanı sıra aşağıdaki gibi kategorilere ayrılmış kurumsal özellikler içerir:

  • Bakım: Güvenliği, erişimi ve desteği geliştiren özellikler.
  • Otomasyon: Geliştiriciler için el ile iş yükünü azaltan ve kod kalitesini büyük ölçekte geliştiren özellikler.

Pratik Örnek

Kuruluşunuzun yeni bir ürün özelliği sunmak için bir dış yüklenici ekibi getirdiğini düşünün. Yönetici olarak sorumluluklarınız şunlar olabilir:

  • Denetimli belge paylaşımı için özel GitHub Sayfalarını etkinleştirme (bir yedekleme özelliği).
  • Genişleyen ekip genelinde verimli otomasyon sağlamak için GitHub Actions kullanımını izleme (bir otomasyon özelliği).

GitHub Enterprise'ın, Yedekleme ve Otomasyon arasında bölünmüş kategorilerin diyagramı.

Geliştirici İş Akışı Standartları Oluşturma

Tutarlılık, güvenlik ve ölçeklenebilirlik sağlamak için GitHub Enterprise kuruluşları şu iş akışı standartlarını izlemelidir:

1. İşbirliği Modelleri

İş Akışı Ne Zaman Kullanılır?
Çatal ve Çekme Açık kaynak veya kuruluşlar arası işbirliği.
Dallanma Paylaşılan depolarda iç ekip geliştirme.

2. Dallanma Kuralları

  • Tutarlı bir adlandırma düzenini (örneğin, feature/*, bugfix/*) benimseyin.
  • CI/CD işlem hatları için main veya develop şeklinde kararlı tümleştirme dalları olarak kullanın.

3. Kural Kümeleri: Modern İlke Uygulama

Kural kümeleri GitHub'ın ilkeyi büyük ölçekte zorlamak için önerilen mekanizmasıdır. Geleneksel dal koruma kurallarının aksine, kural kümeleri birden çok depo ve ekip genelinde ilkeleri merkezi olarak yönetmenizi sağlar.

Kural kümelerine genel bakış ekran görüntüsü.

Kural Kümelerinin Avantajları

  • Depo ilkeleri üzerinde merkezi denetim.
  • Uygulamada takımlar arasında tutarlılık.
  • Büyüyen kuruluşlar için ölçeklenebilirlik.
  • Katmanlı birleşimler aracılığıyla ayrıntılı esneklik.

Örnek İlkeler

  • Pull Request'lar gözden geçirilmeli.
  • Birleştirmeden önce CI/CD denetimlerini zorunlu kılma.
  • Korumalı dallara erişimi kısıtlayın.

Kural kümesi uygulaması gösterge panelinin ekran görüntüsü.

Kural Setlerini ve Dal Korumasını Birleştirme (Legacy Desteği)

  • Birincil mekanizma olarak kural kümelerini kullanın.
  • Depoya özgü özel durumlar için katman dal koruma kuralları.
  • İlke çakışmalarını azaltmak için her ikisi arasında çakışmadan kaçının.

Destek Özellikleri: Güvenli Erişimi ve İşlemleri Destekleme

Destek özellikleri kullanıcı deneyimindeki uyuşmaları azaltır, güvenli erişim denetimi sağlar ve hibrit bulut ortamlarını destekler.

Temel Yedekleme Özellikleri

Özellik Açıklama
Kurumsal Destek GitHub'dan doğrudan destek.
SAML/SCIM Kimlik Doğrulaması Kimlik ve erişim yönetimini merkezileştirir.
GitHub Connect Kurumsal Bulut ile Sunucu arasında tümleştirmeyi etkinleştirir.
GitHub Sayfaları için Erişim Denetimleri Belgelerin görünürlüğünü içerideki ekip üyeleriyle kısıtlar.

Yapılandırma Kılavuzu

SAML SSO'yu etkinleştirme

  1. Kimlik sağlayıcınızı (IdP) GitHub'a bağlayın.
  2. Kuruluş ayarlarınızda SAML kimlik doğrulaması gerektir'i seçin.
  3. Oturum açma URL'nizi, vereni ve sertifikanızı sağlayın.

GitHub Sayfaları Erişimini Kısıtla

  1. Özel depo ayarlarınıza gidin.
  2. GitHub Sayfaları görünürlüğünüÖzel olarak ayarlayın.
  3. Genel URL'lerin erişilebilir olmadığını onaylayın.

GitHub Connect'i etkinleştirme

  1. Hem GitHub Enterprise Server'da hem de GitHub.com oturum açın.
  2. Sunucu ayarları'nda GitHub Connect'i Etkinleştir'i seçin.
  3. Birleşik arama ve katkılar için bağlantı vermek üzere kuruluşları seçin.

Otomasyon Özellikleri: Güvenli ve Ölçeklenebilir İş Akışları

Otomasyon özellikleri insan hatalarını azaltmaya, kodlama standartlarını zorlamaya ve CI/CD'yi kolaylaştırmaya yardımcı olur.

Çekirdek Otomasyon Özellikleri

Özellik Açıklama
GitHub Gelişmiş Güvenlik (GHAS) Güvenlik açıkları ve gizli bilgiler için kodu tarar.
GitHub Actions Dakikaları Derlemeleri, testleri ve dağıtımları otomatikleştirme.
Otomatik Güvenlik Güncelleştirmeleri Bağımlılıkları güvenli ve güncel tutar.

Otomasyon Kullanımını İzleme

GitHub Gelişmiş Güvenlik (GHAS)

  1. Kuruluşunuzun > Ayarları'na gidin.
  2. GitHub Gelişmiş Güvenlik altında kullanıcı kullanımını gözden geçirin.
  3. Sınırlara yaklaşıyorsanız, kullanımı takıma göre değerlendirin ve önceliklerini belirleyin.

GHAS kullanım panosunun ekran görüntüsü.

GitHub İşlemleri

  1. Kuruluşunuzun > Ayarlar > Faturalama > GitHub Actions bölümüne gidin.
  2. Aylık 50.000 dakika ve 50 GB depolama alanınızda kullanımı izleyin.
  3. Çalıştırıcı kullanım maliyetlerini not edin:
    • Linux: temel.
    • Windows: 2x Linux oranı.
    • macOS: Linux'un 10 katı oranında.

GitHub Actions dakika kullanımı ekran görüntüsü.

GitHub Enterprise'da CI/CD Stratejisi

GitHub Enterprise, GitHub Actions'ı ve dış araçlarla tümleştirmeleri kullanarak güvenli ve ölçeklenebilir CI/CD uygulamaları sağlar.

Önemli Özellikler

  • GitHub Actions: GitHub olayları (gönderimler, çekme istekleri gibi) tarafından tetiklenen derlemeleri, testleri ve dağıtımları otomatikleştirmek için YAML'de iş akışlarını tanımlayın.
  • Derleme Hatları: Kod derleme, birim testi, yapıt oluşturma ve PR doğrulamayı otomatikleştirir.
  • Otomatik Test: Birleştirmeden önce kaliteyi sağlamak için birim, tümleştirme ve güvenlik testlerini tümleştirin.
  • Sürekli Dağıtım (CD): İsteğe bağlı onaylarla, ön hazırlık veya canlı ortam için otomatik olarak yayınlayın.
  • Araç Zinciri Esnekliği: Web kancaları ve GitHub Market uygulamaları aracılığıyla Jenkins, CircleCI, Azure Pipelines ve daha fazlası için destek.
  • Release Automation: CI iş akışlarından değişiklik günlükleri ve sürümleştirilmiş yapıtlarla etiketli yayınları tetikler.
  • CI/CD'de güvenlik: Dependabot'u, gizli dizi taramayı ve uyumluluk denetimlerini doğrudan işlem hatlarıyla tümleştirin.
  • İzleme ve Bildirimler: Uyarıları yapılandırın ve dağıtım durumunu ve performansını izlemek için gözlemlenebilirlik araçlarını tümleştirin.

Tavsiye

Tutarlılık ve denetim sağlamak için yeniden kullanılabilir iş akışlarını ve ortamları (hazırlama, üretim gibi) tanımlayın.

Başlangıç Yapmak

Dağıtımı otomatikleştirmek için:

  1. Deponuzda bir .github/workflows/ dizin oluşturun.
  2. GitHub Actions YAML kullanarak CI/CD işlem hattı tanımlama (örneğin, ci-cd.yml).
  3. Kimlik bilgilerini güvenli bir şekilde yönetmek için gizlilikleri kullanın.
  4. Dağıtım geçişlerini yönetmek için ortamlardan ve manuel onaylardan yararlanın.

Kuruluş Durumunu İzleme

Kullanım eğilimlerini, işbirliği desenlerini ve risk alanlarını belirlemek için içgörüleri kullanın:

Kuruluş Etkinliği İçgörüleri

  • Pull request'ler, sorunlar ve kod dillerindeki eğilimleri görün.
  • Ekip dağıtım ve geliştirici katılımını değerlendirin.

Bağımlılık İçgörüleri

  • Üçüncü taraf bağımlılıklarındaki güvenlik açıklarını belirleme.
  • Lisans risklerini gözden geçirin ve güvenlik duruşlarını değerlendirin.

Araçlar: GitHub İş Akışlarını Genişletme

Yöneticiler üçüncü taraf araçları ve GitHub Market tümleştirmelerini onaylayabilir, yapılandırabilir ve koruyabilir.

Sorumluluklar

  • Uygulamaları kuruluş/depo düzeyinde onaylayın.
  • İzin değişikliklerini izleyin.
  • Daha yüksek güven için Doğrulanmış Oluşturucu rozetleri olan araçları tercih edin.

GitHub Market'te Doğrulanmış Oluşturucu rozetinin ekran görüntüsü.

Pazar Yeri Yönergeleri

Kategori ölçütler
CI/CD Araçları Otomasyon için taşınabilir, dinamik, açık standartlara uyumlu araçlar.
Doğrulanmış Oluşturucular 2FA, doğrulanmış etki alanları ve GitHub ortaklığını zorunlu kıl.

CI/CD Araçları: Nelere Bakmalı

Aşağıdakilerle sürekli tümleştirmeyi, teslimi veya dağıtımı destekleyen araçları seçin:

  • Açık standartlar: Benimsemek ve eğitmek kolaydır.
  • Dinamik değişkenler: İş akışlarını ölçeklendirmeye yönelik merkezi denetim.
  • Esneklik: Hibrit veya bulutta yerel ortamlar arasında uyarlanabilir.