İş birliği katmanını seçin
Forgejo ve Gitea hafif forge yazılımı örnekleridir; daha küçük bir iş akışı için düz SSH Git yeterli olabilir. Sorunları, incelemeleri, paket depolamayı ve kimlik gereksinimlerini projeyle eşleştirin. Güncel desteklenen sürümleri ve lisansları doğrulayın.
Derlemeleri forge'dan ayırın
Bir CI çalıştırıcısı proje tarafından kontrol edilen kodu yürütür ve kısıtlanmamış forge veya ana makine kimlik bilgilerini tutmamalıdır. Çalıştırıcıları yalıtın, belirteçleri kapsamlandırın ve güvenilmeyen işleri depo hizmetiyle aynı ayrıcalıklı hesapta çalıştırmaktan kaçının.
Erişimi ve kaydı koruyun
Hizmet özel olduğunda genel kaydı devre dışı bırakın. Bireysel hesaplar, güçlü kimlik doğrulama ve dikkatle kapsamlandırılmış dağıtım anahtarları kullanın. SSH bağlantı noktasını ve ana bilgisayar anahtarını belgeleyin; kullanıcıları ana bilgisayar anahtarı uyarılarını sessizce yok saymaya alıştırmayın.
Hizmetin tamamını yedekleyin
Depolar tek başına sorunları, hesapları, ekleri ve yapılandırmayı içermeyebilir. Forge'un tutarlı yedekleme prosedürünü izleyin ve dosya izinleri ile uygulama sırları bozulmadan bir geri yüklemeyi test edin.
Bir forge kurtarma kontrol listesi
Veritabanını tutarlı biçimde dışa aktarın ve depo depolamasını, ekleri, etkinse büyük dosya depolamasını, yapılandırmayı ve şifreleme gizli değerlerini koruyun. Geri yüklemeden sonra amaçlanan SSH veya HTTPS yolu üzerinden bir klonu doğrulayın. Bir derlemenin hizmetin kendi yapılandırmasını yeniden yazamaması için forge’u ve tüm CI çalışanını yalıtılmış tutun.
Dağıtım haklarını dar tutun
Salt okunur bir dağıtım anahtarı, yalnızca kod çeken bir sunucu için yeterli olabilir. Bir sürüm otomasyonu küçük bir ek kapsam gerektirebilir. Farklı makineler için bağımsız anahtarları tercih edin, amaçlarını kaydedin ve makine kullanımdan kaldırıldığında bunları kaldırın.
İhtiyaca uyan en küçük işbirliği hizmetini kullanın
Birkaç özel depo için kısıtlı SSH üzerinden çıplak Git yeterli olabilir. Forgejo veya Gitea, bir veritabanı, uygulama güncellemeleri ve daha fazla kalıcı durum maliyeti karşılığında hesaplar, çekme istekleri, sorunlar ve isteğe bağlı paketler ekler. Ekibin gerçekte hangi özellikleri kullanacağını kaydedin. Depo büyümesini, büyük dosya nesnelerini, ekleri ve derleme çıktılarını ayrı ayrı bütçeleyin; CI hesaplama gücü forge'un kendisini aşabilir.
- Kanonik bir HTTPS adı seçin ve DNS hesabını koruyun.
- Kaydın kapalı, davetiyeye dayalı veya denetimli olup olmayacağına karar verin.
- Forge hizmetine ayrıcalıksız bir kimlik ve kalıcı özel depolama sağlayın.
Resmi belgeler: Forgejo konteyner kurulumu
Web, SSH ve veritabanı yollarını ayırın
Seçilen sürüm için üst kaynak yapılandırmasını kullanın ve amaçlanan imaj sürümünü sabitleyin. Bir TLS ters proxy dahili web dinleyicisine ulaşabilmelidir; veritabanına yalnızca forge erişebilmelidir. Git SSH bir konteyner bağlantı noktası kullanıyorsa, duyurulan ana bilgisayarını ve harici bağlantı noktasını eşlemeyle tutarlı tutun. Forge'u değiştirirken ana bilgisayar yöneticisi SSH dinleyicisini değiştirmeyin veya yanlışlıkla açığa çıkarmayın. İlk sahip oluşturulduktan sonra kurulum/ayar erişimini kapatın.
- Uygulamayı başlatmadan önce kalıcı birim sahipliğini kontrol edin.
- Forge veritabanıyla sınırlı bir veritabanı kullanıcısı kullanın.
- CI çalıştırıcılarını, özellikle güvenilmeyen depolar için ayrı bir güven sınırında tutun.
Resmi belgeler: Forgejo Docker ağ yapılandırması ve kalıcılık
Klonlama, gönderme ve reddedilen bir işlemi doğrulayın
Tek kullanımlık özel bir depo oluşturun ve normal bir geliştirici hesabından HTTPS veya SSH klonunu URL test edin. Zararsız bir dosya işleyip gönderin, ardından yetkili başka bir okuyucunun bunu alabildiğini doğrulayın. Davet edilmemiş bir hesap özel depoyu okuyamamalıdır. Etkinse büyük dosya işleme ve bildirim e-postasını kontrol edin. Yalnızca dağıtım makineleri için salt okunur bir anahtarın alabildiğini ve gönderemediğini test edin; tek başına kimlik doğrulama başarısı amaçlanan izin sınırını kanıtlamaz.
# Use the disposable repository URL advertised by your forge:
git clone ssh://[email protected]:2222/team/check.git
# In a clone, inspect which remote is configured:
git remote -vDepo kadar tartışmayı da kurtarın
Tutarlı bir uygulama/veritabanı yedeği, depo alanı, ekler, LFS verileri, yapılandırma ve gerekli şifreleme sırlarını alın. Kurulu forge sürümünün yedekleme prosedürünü izleyin; Gitea yedekleme komutları her Forgejo sürümüyle otomatik olarak birbirinin yerine geçmez. İzole bir ortamda yeniden oluşturun ve bir sorunu, eki, oturum açmayı ve klonlamayı doğrulayın. Taşıma sonrası push başarısız olursa, depo izinlerini genel olarak değiştirmeden önce SSH ana bilgisayar/bağlantı noktasını, anahtar eşlemesini, depolama izinlerini ve duyurulan klon URL adreslerini kontrol edin.
Resmi belgeler: Gitea yedekleme ve geri yükleme