Molti piccoli script, un repository o multipli?

15

Un mio collega e io ci siamo imbattuti in un problema su cui abbiamo diverse opinioni.

Al momento disponiamo di un repository git che mantiene tutti i nostri cronjob. Ci sono circa 20 crons e non sono realmente correlati tranne per il fatto che sono tutti piccoli script python ed essenziali per alcune attività. Stiamo utilizzando un file fabric.py per la distribuzione e un file requirements.txt per gestire i requisiti per tutti gli script.

Il nostro problema è fondamentalmente, manteniamo tutti questi script in un repository git o dovremmo separarli nei loro repository? Mantenendoli in un repository è più facile distribuirli su un server. Possiamo usare solo un file cron per tutti gli script.

Tuttavia questo sembra sbagliato, in quanto i 20 cronjob non sono correlati logicamente. Inoltre, quando si utilizza un file requirements.txt per tutti gli script, è difficile capire quali sono le dipendenze per uno script particolare e tutti devono utilizzare le stesse versioni dei pacchetti.

Potremmo separare tutti gli script nei loro repository, ma ciò crea 20 diversi repository che devono essere ricordati e gestiti. Molti di questi script non sono molto grandi e questa soluzione sembra essere eccessiva.

Una domanda correlata è, usiamo un grande file crontab per tutti i cronjobs o un file separato per ciascuno? Se ognuno ha il suo, come fa l'installazione di un crontab a evitare di sovrascrivere gli altri 19? Anche questo sembra un dolore, dato che ci sarebbero 20 file cron diversi da tenere sotto controllo.

In breve, la nostra domanda principale e il problema è che li teniamo tutti strettamente raggruppati come un unico repository o li separiamo nel loro repository con i loro propri requisiti.txt e fabfile.py? Riteniamo che probabilmente stiamo anche esaminando alcune soluzioni davvero semplici. C'è un modo più semplice per affrontare questo problema?

    
posta The Jug 04.11.2011 - 22:15
fonte

2 risposte

16

A meno che esista una ragione specifica per cui pensi che ognuno di loro meriti un repository inviduale (Cresceranno molto? Probabilmente no!) sembra più ragionevole metterli tutti in uno repo, e risparmia la fatica di clonarli tutti da 20 repository.

Mantenere ognuno in un repository separato sembra il percorso di creazione di un problema in cui un problema non esiste.

Non creare lavoro extra per te stesso (e altri).

    
risposta data 04.11.2011 - 23:49
fonte
1

A meno che non ci sia una buona ragione per la scissione (prestazioni, travolgenti preoccupazioni organizzative / di sicurezza ecc.), il mio istinto è di mantenere i documenti di origine insieme nello stesso repository.

Separare i sistemi in repository separati crea generalmente barriere che inibiscono il riutilizzo; dal momento che il riutilizzo è solo l'unico modo in cui un'organizzazione deve ammortizzare il costo dello sviluppo, tutto ciò che si frappone al riutilizzo è ipso facto una cosa negativa.

    
risposta data 18.06.2012 - 22:11
fonte

Leggi altre domande sui tag