Rails 2.3.x、bundler、nginx、passengerおよびgitを使用するWebサイトがあり、同じコードを使用して非常に似たサイトを展開したいと考えています。両者の違いが含まれます:複数のRails 2.3 Webサイトで同じコードベースを使用して差分を管理する方法
- ロケール
- データベースいくつかのケースでは
- 検証いくつかの例
これらの違いを管理するための最良の方法は何で
いくつかのアイデア:
など生産と生産-Bなどの新しいRailsの環境を、作成し、適切な環境ファイルの違いを扱います。 1つの潜在的な問題は、の生産またはの開発の環境を探すために、多くの宝石とプラグインがハードコードされていることです。
グローバル変数を設定するか、要求ごとにドメインを使用して、使用するコンテキストを決定するためにPassengerを使用します。この問題は、この状態にアクセスできないレーキタスクやcronジョブなどです。
configディレクトリの2つのバージョンを維持します。これは、すべての設定ファイルの2つのバージョンを維持することは不便であり、その多くは同一である。また、私はgitを利用してこれを正しく行う方法を今確信しています。
アイデア、ヒント、または例をお待ちしております。 Question #6753275は関連していますが、不完全なようです。
ありがとう、それは役に立ちます。 rake + rsyncを使ってエンジン/パブリックのファイルを一般にコピーしましたか?私たちはBundlerを使用しています - Gemfileはどこに行きますか?さまざまなサイトで多くのことが重複してしまうように思える。 – acw
さて、プラグインとしてのエンジン(rails 2.3.x)では、あなたのrailsプロジェクトにafem:Gemfileが1つしかありません。しかし、それはちょうど推測です。私はバンドラがある前にこれをしました。宝石(レール3.x)を使用している場合、各宝石には独自のGemfileがあります。私はファイルを手動でコピーしました。いくつかの重複がありますが、それはまた重要なところで物事を覆すための自由を与えます。そして最も重要なのは、主な複製を取り除くことです!コードはアプリケーション間で共有されます。 – nathanvda