私は約1,000人のアクティブユーザーがいる中規模のWebサイトを作成して維持しています。
私はUbuntu、Python、Django、jQuery、Less、twitter-bootstrapなどのテクノロジーと、それらがもたらすすべての依存関係を使用しています。インターネットからダウンロードしたJSライブラリのような0.5トンの外部コンポーネントと、変更が必要だったためにGitHubでフォークしたいくつかのプロジェクトがあります。私がインストールしたいくつかのPythonプロジェクトpip
。
オンラインでダウンロードしたJSライブラリにも変更を加えましたが、すべてがリポジトリに保存されています。フォークされたプロジェクトは、私のリポジトリ内でgitサブモジュールとして利用できます。
1.5年間の開発の後、これはひどいアプローチであったことに気づきました。コンポーネントをアップグレードすると、非常に面倒になる可能性があります。バージョンを追跡するのは難しいです。単一のコンポーネント(pipでインストールしたpythonパッケージ、javascriptライブラリなど)をアップグレードすると、gods-know-whereのリグレッションが発生する可能性があるためです。
昨夜、私は明日がないようなものをフォークする代わりに、Makefileを介して適用されたパッチのセットを維持するべきだったと思い始めました。
私はもっと良かったでしょうか?あなたの考えは何ですか?
前もって感謝します。