同事和我自己都遇到了一个我们有很多看法的问题。
当前,我们有一个git存储库,我们将所有cronjobs保留在其中。大约有20克朗,它们除了它们都是小型python脚本并且对于某些活动必不可少之外,并没有真正的关联。我们使用一个fabric.py
文件来部署和requirements.txt
文件管理所有脚本的要求。
基本上,我们的问题是,是否将所有这些脚本都保存在一个git存储库中,还是应该将它们分离到各自的存储库中?通过将它们保存在一个存储库中,可以更轻松地将它们部署到一台服务器上。对于所有脚本,我们只能使用一个cron文件。
但是,这感觉不对,因为20个cronjob在逻辑上不相关。此外,使用一个在requirements.txt
文件中的所有脚本,这是很难搞清楚什么是依赖一个特定的脚本,它们都必须使用的软件包的版本相同。
我们可以将所有脚本分离到各自的存储库中,但这会创建20个需要记住和处理的不同存储库。这些脚本中的大多数都不是很大,解决方案似乎过大。
一个相关的问题是,我们是对所有cronjobs使用一个大crontab文件,还是对每个cronjobs使用单独的文件?如果每个人都有自己的设备,那么一个crontab的安装如何避免覆盖另一个19个?这似乎也很痛苦,因为随后需要20个不同的cron文件进行跟踪。
简而言之,我们的主要问题是将它们紧密地捆绑在一起作为一个存储库,还是将它们通过自己的require.txt和fabfile.py分离到自己的存储库中?我们觉得我们也可能正在寻找一些非常简单的解决方案。有没有更简单的方法来解决此问题?