Muitos scripts pequenos, um repositório ou múltiplos?

15

Um colega de trabalho e eu encontramos um problema sobre o qual temos várias opiniões.

Atualmente, temos um repositório git no qual estamos mantendo todos os nossos cronjobs. Há cerca de 20 crons e eles não estão realmente relacionados, exceto pelo fato de serem todos pequenos scripts python e essenciais para alguma atividade. Estamos usando um arquivo fabric.py para implantar e um arquivo requirements.txt para gerenciar os requisitos de todos os scripts.

Nosso problema é basicamente manter todos esses scripts em um repositório git ou devemos separá-los em seus próprios repositórios? Ao mantê-los em um repositório, é mais fácil implantá-los em um servidor. Podemos usar apenas um arquivo cron para todos os scripts.

No entanto, isso parece errado, já que os 20 cronjobs não são logicamente relacionados. Além disso, ao usar um arquivo requirements.txt para todos os scripts, é difícil descobrir quais são as dependências de um determinado script e todos eles precisam usar as mesmas versões de pacotes.

Poderíamos separar todos os scripts em seus próprios repositórios, mas isso cria 20 repositórios diferentes que precisam ser lembrados e tratados. A maioria desses scripts não é muito grande e essa solução parece ser um exagero.

Uma questão relacionada é: usamos um grande arquivo crontab para todos os cronjobs ou um arquivo separado para cada um? Se cada um tem o seu próprio, como a instalação de um crontab evita a substituição dos outros 19? Isso também parece ser uma dor, pois haveria então 20 arquivos cron diferentes para acompanhar.

Em suma, a nossa principal questão e questão é mantê-los todos juntos como um repositório ou os separamos em seu próprio repositório com seus próprios requirements.txt e fabfile.py? Nós sentimos que provavelmente também estamos procurando alguma solução realmente simples. Existe uma maneira mais fácil de lidar com esse problema?

    
por The Jug 04.11.2011 / 22:15
fonte

2 respostas

16

A menos que exista uma razão específica para você pensar que cada um deles merece um repo invidual (Eles crescerão muito? Provavelmente não!) parece mais razoável colocá-los todos em um repo, e poupe o trabalho de clonar todos eles de 20 repos.

Manter cada um em um repositório separado parece ser o caminho para criar um problema em que um problema não existe.

Não crie trabalho extra para você mesmo (e outros).

    
por 04.11.2011 / 23:49
fonte
1

A menos que exista uma boa razão para a divisão (desempenho; esmagadora preocupação organizacional / de segurança, etc.), meu instinto é manter os documentos originais juntos no mesmo repositório.

A divisão de sistemas em repositórios separados geralmente cria barreiras que inibem a reutilização; já que a reutilização é apenas a única maneira que uma organização tem de amortizar o custo do desenvolvimento, qualquer coisa que atrapalhe a reutilização é ipso facto uma coisa ruim.

    
por 18.06.2012 / 22:11
fonte