Aynı GitLab sunucusunda CI koşucusu var mı?


12

Şirketimde bir GitLab sunucusu kuruyorum ve şimdi buna GitLab CI ekliyorum.

Bu göreve başlamadan önce, koşucularımı GitLab ve GitLab CI tarafından kullanılan aynı sunucuda çalıştırmanın dezavantajları olup olmadığını anlamak istiyorum.

Güvenlik endişeleri olduğunu okudum ama sadece dahili olarak kullanıyoruz, bu yüzden bunun bir sorun olabileceğini düşünmüyorum.

Bir şey mi kaçırıyorum?

Yanıtlar:


11

Aşağıdaki durumları düşünün:

  • Dahili bir geliştirici şirkete zarar vermek ister (çünkü patronu karısıyla uyuduğu için ücretinin düşük olduğunu düşünür; nedeni önemli değil) Çalıştırıldığında uygulamayı test etmek yerine GitLab deposunu arayan bir birim testi yapar ve onu siler. Bir sonraki işlemde, sürpriz, projenin tüm kaynak kodu kaybolur (ancak yedeklemeler yaparsınız ve bunları test edersiniz, değil mi?)

  • Ya da deponun yedeklerinin aynı makinede yapılandırıldığını belirten aynı geliştirici uyarıları. Bu yapılandırmayı birim testi ile değiştirir, böylece yedekleme artık farklı bir depo içerir ve bir ay bekler (yedeklerin tutulduğu zaman). Artık tüm yedeklemeler bozulduğundan, kaynak kodunu sunucudan silen birim testini yapabilir.

  • Veya stajyer kaynak kodunu yarışmaya satmak istiyor. Erişimi dikkatlice yapılandırdınız ve yalnızca çalışması için ihtiyaç duyduğu şeyle sınırlandırdınız. Aynı zamanda, birim testleri ile depoya sınırsız erişime sahip olup, tam dökümü yapabilir.

Birim testleri sınırlı izinler bağlamında yürütülmediği ve testler için gereken dizinlerin ve dosyaların ötesinde hiçbir şeye erişemediği sürece, CI sunucusunu deponuzu tutan sunucu ile karıştırmak gerçekten tehlikelidir.

Başka bir sorun, sürüm kontrol sunucusunun hızlı olması bekleniyor. Aynı makineye kurulan CI sunucusu işlemleri yavaşlatabilir.


8
Biz 3 geliştiriciyiz ... eğer birimiz şirkete zarar vermek istiyorsa bunu binlerce yolla yapabilir = (... Yani tek sorun yavaş performanslar olurdu, ama güzel bir makine kullanırsam büyük olmamam gerekir sıkıntılar, değil mi? Teşekkürler!
Fez Vrasta

ps: chroot ne olacak? Süreci güvenli hale getirmek için kullanılamaz mı?
Fez Vrasta

4
@FezVrasta: Güvenlik sizin durumunuz için bir endişe değilse veya performanslar değilse, görebildiğim ayrı makinelere sahip olmanın tek yararı gelecekteki ölçeklenebilirliktir. Ancak açıkçası, ölçeklenebilirlik sorunları ortaya çıkmadan değişiklik yapmak, erken optimizasyona benzer.
Arseni Mourzenko

@FezVrasta: " Ya chroot? İşlemi güvenli hale getirmek için kullanılamaz mı?" - Unix güvenliğinde bu soruyu cevaplayacak kadar becerim yok.
Arseni Mourzenko

0

Git için merkezi bir “her şeyi bilen” sunucu olmadığı göz önüne alındığında, diğer bazı kaynak kodu kontrol sistemlerinde olduğu gibi bu kötü değildir.

Git sunucusunun anther git sunucusuna otomatik olarak gönderilmesi şartıyla (test edildi) Küçük bir şirkette bu kurulum hakkında endişe etmem.

İdeal olarak geliştiricilerin ofset sunucusu git sunucusuna, sonra CI sunucusunun ofset sunucusundan ücretleri çekmek için değişikliklerini ittiğini görmek isterim - bu şekilde, her check-out yapıldığında offsite sunucusu test edilir.

Geliştiriciler zamandan kazanmak için her zaman yerinde sunucudan çekildiyse, bu bir sorun değildir.


1
2 sunucuya ihtiyacım varsa ... neden sadece 2. sunucuda koşucu çalıştırmıyorum?
Fez Vrasta

@FezVrasta, " site dışı sunucu" git hosting satacak herhangi biri olabilir, sahip olduğunuz bir sunucu olması gerekmez. Ayrıca internet üzerinden olduğu gibi bir çekme yapmak yavaş olacaktır.
Ian

1
Şirketim için
kuruyorum
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.