同僚と私は、複数の意見を持っている問題に遭遇しました。
現在、すべてのcronジョブを保持しているgitリポジトリがあります。約20のcronがあり、それらはすべて小さなpythonスクリプトであり、いくつかのアクティビティに不可欠であるという事実を除き、実際には関連していません。すべてのスクリプトの要件fabric.py
を展開するrequirements.txt
ファイルと管理するファイルを使用しています。
私たちの問題は、基本的に、これらのスクリプトをすべて1つのgitリポジトリに保持するのか、それとも独自のリポジトリに分離する必要があるのか、ということです。それらを1つのリポジトリに保持することで、1つのサーバーに簡単に展開できます。すべてのスクリプトに1つのcronファイルを使用できます。
ただし、20個のcronジョブは論理的に関連していないため、これは間違っていると感じています。さらに、requirements.txt
すべてのスクリプトに1つのファイルを使用する場合、特定のスクリプトの依存関係を把握するのは困難であり、それらはすべて同じバージョンのパッケージを使用する必要があります。
すべてのスクリプトを独自のリポジトリに分離することもできますが、これにより20の異なるリポジトリが作成され、それらを覚えて処理する必要があります。これらのスクリプトのほとんどはそれほど大きくなく、その解決策は行き過ぎているようです。
関連する質問は、すべてのcronジョブに1つの大きなcrontabファイルを使用しますか、それとも個別のファイルを使用しますか?それぞれが独自のものを持っている場合、あるcrontabのインストールは他の19の上書きをどのように回避しますか?これはまた、20種類のcronファイルを追跡する必要があるため、苦痛のように思えます。
要するに、私たちの主な質問と問題は、それらをすべて1つのリポジトリとして密接にバンドルしたままにするのか、それとも独自のrequirements.txtとfabfile.pyを使用して独自のリポジトリに分けるのですか?私たちは、おそらくいくつかの本当に簡単な解決策も検討しているように感じます。この問題に対処する簡単な方法はありますか?