Birçok küçük komut dosyası, bir havuz mu yoksa birden fazla havuz mu?


16

Bir iş arkadaşı ve ben, üzerinde birden fazla görüşümüz olan bir sorunla karşılaştık.

Şu anda tüm cronjobs'larımızı tuttuğumuz bir git depomuz var. Yaklaşık 20 crons var ve hepsi küçük python komut dosyaları olması ve bazı aktiviteler için gerekli olması dışında gerçekten ilgili değiller. Biz kullandığınız fabric.pydağıtmak dosyası ve bir requirements.txtdosya komut tüm gereksinimlerini yönetmek için.

Bizim meselemiz temel olarak, bu betiklerin hepsini bir git deposunda mı tutuyoruz yoksa bunları kendi havuzlarına ayırmalı mıyız? Bunları tek bir depoda tutarak bir sunucuya dağıtmak daha kolaydır. Tüm komut dosyaları için sadece bir cron dosyası kullanabiliriz.

Ancak, 20 cronjobs mantıksal olarak ilişkili olmadığı için bu yanlış geliyor. Ek olarak, requirements.txttüm komut dosyaları için bir dosya kullanırken , belirli bir komut dosyası için bağımlılıkların ne olduğunu ve bunların aynı paket sürümlerini kullanması zor.

Tüm senaryoları kendi havuzlarına ayırabiliriz, ancak bu, hatırlanması ve ele alınması gereken 20 farklı depo oluşturur. Bu senaryoların çoğu çok büyük değil ve bu çözüm aşırıya kaçmış gibi görünüyor.

İlgili bir soru, tüm cronjobs için büyük bir crontab dosyası mı yoksa her biri için ayrı bir dosya mı kullanıyoruz? Her birinin kendine ait olması durumunda, bir crontab'ın kurulumu diğer 19'un üzerine yazmaktan nasıl kaçınır? Bu aynı zamanda 20 farklı cron dosyası tarafından takip edilmesi gereken bir acı gibi görünüyor.

Kısacası, ana sorumuz ve meselemiz, hepsini tek bir depo olarak yakından paketliyor muyuz veya kendi gereksinimleriyle kendi havuzlarına ayırıyor muyuz? Txt ve fabfile.py? Muhtemelen gerçekten basit bir çözüm üzerinde de durduğumuzu düşünüyoruz. Bu sorunla başa çıkmanın daha kolay bir yolu var mı?


Bu komut dosyaları işleri diğer uygulamalarla mı, yoksa tam anlamıyla yalnızca yardımcı program komut dosyalarının boşaltma zemini mi?
Greg Burghardt

Neden aynı depoya sahip olduklarını aynı gereksinimleri paylaşmaları gerektiğini anlamıyorum? Onları deponun ayrı alt dizinlerine koyarsanız her birinin farklı gereksinimleri olabilir. Txt
Sean Burton

Yanıtlar:


16

Her birinin birbirinden bağımsız bir repoyu hak ettiğini düşünmenizin özel bir nedeni olmadıkça (Çok büyüyecekler mi? 20 depodan.

Her birini ayrı bir repoda tutmak, bir sorunun olmadığı bir problem yaratma yolu gibi görünmektedir.

Kendiniz (ve diğerleri) için fazladan iş yaratmayın.


2
Anlaşılır - komut dosyaları iyi adlandırıldığı ve çoğaltma aralarında düşük tutulduğu sürece (yani paylaşılan kitaplık şeyler) grep aramaları çok karmaşık değildir, bence bu işe yarıyor.
Danny Staple

1

Bölünme için gerçekten iyi bir neden olmadıkça (performans; ezici organizasyon / güvenlik kaygıları vb.) İçgüdüm kaynak belgeleri aynı depoda bir arada tutmaktır.

Sistemleri ayrı depolara bölmek genellikle yeniden kullanımı engelleyen engeller oluşturur; yeniden kullanım, bir kuruluşun geliştirme maliyetini amorti etmesinin tek yolu olduğundan, yeniden kullanım yolunda olan her şey kötü bir şeydir.

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.