GitHub Enterprise özellikleri
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).
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
mainveyadevelopş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ü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 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
- Kimlik sağlayıcınızı (IdP) GitHub'a bağlayın.
- Kuruluş ayarlarınızda SAML kimlik doğrulaması gerektir'i seçin.
- Oturum açma URL'nizi, vereni ve sertifikanızı sağlayın.
GitHub Sayfaları Erişimini Kısıtla
- Özel depo ayarlarınıza gidin.
- GitHub Sayfaları görünürlüğünüÖzel olarak ayarlayın.
- Genel URL'lerin erişilebilir olmadığını onaylayın.
GitHub Connect'i etkinleştirme
- Hem GitHub Enterprise Server'da hem de GitHub.com oturum açın.
- Sunucu ayarları'nda GitHub Connect'i Etkinleştir'i seçin.
- 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)
- Kuruluşunuzun > Ayarları'na gidin.
- GitHub Gelişmiş Güvenlik altında kullanıcı kullanımını gözden geçirin.
- Sınırlara yaklaşıyorsanız, kullanımı takıma göre değerlendirin ve önceliklerini belirleyin.
GitHub İşlemleri
- Kuruluşunuzun > Ayarlar > Faturalama > GitHub Actions bölümüne gidin.
- Aylık 50.000 dakika ve 50 GB depolama alanınızda kullanımı izleyin.
- Çalıştırıcı kullanım maliyetlerini not edin:
- Linux: temel.
- Windows: 2x Linux oranı.
- macOS: Linux'un 10 katı oranında.
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:
- Deponuzda bir
.github/workflows/dizin oluşturun. - GitHub Actions YAML kullanarak CI/CD işlem hattı tanımlama (örneğin,
ci-cd.yml). - Kimlik bilgilerini güvenli bir şekilde yönetmek için gizlilikleri kullanın.
- 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.
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.