2

サブモジュールを使用するというアイデアは気に入っていますが、自分のコードを他人の手に委ねてしまうのではないかと心配しています。主な問題は、capistrano を使用してデプロイするたびに、以下を使用しているため、サブモジュールの新しいコピーがチェックアウトされることです。

set :git_enable_submodules, 1

誰かが壊れたコードをコミットしたらどうなるでしょうか? 次に、デプロイ時にアプリが壊れます。

リポジトリを制御しない限り、サブモジュールは一般的に悪い考えですか?

もしそうなら、すべてのプラグインのコピーをローカル リポジトリと SCM の下に保持するのが一般的な方法ですか?

ありがとう!

4

1 に答える 1

3

はい、警告なしに更新される可能性のあるすべてのもの (git サブモジュールや svn externals など) のローカル コピーを保持する必要があります。本番環境へのデプロイに関しては、リスクを冒す必要はありません!

Rails とすべての純粋な Ruby の gem もvendorディレクトリにフリーズして、必要なときにのみ更新されるようにする必要があると主張する人さえいます。展開先のすべてのサーバーにすべての依存関係をインストールする必要がなくなります。ただし、Rails では必要なすべての gem を単純な rake タスクで簡単にインストールできるようになっているため、これはあまり重要ではありません ( rake gems:install)。

于 2009-06-21T21:57:04.943 に答える