0

そのマシンに固有のコードを持ち、運用サーバーとは異なるローカル開発環境を持つプロジェクトを継承しました。その大部分は定数に含まれており、残りはテストに含まれていますが、開発からコミットして本番環境で更新するたびに、本番環境で同じ変更を行う必要があります。幸いなことに、これは少量の内部ツールです。

自動化するスクリプトを書くことができると思いますが、より良い解決策があることを願っています。他の誰かがこの問題を解決しましたか?

これらの質問は似ていますが、同じことを尋ねているわけではありません。

(1)本番データベースに変更を加える

(2) dev から prod への変更の転送

編集: Nelson LaQuet は、私が正しい道だと信じていることを教えてくれたので、Rails アプリケーションの構成に進みました。ただし、config/environments/production.rb および config/environments/development.rb で、MyExternalCodeDir などの FormController < ApplicationController 定数を参照する方法がわかりません。

また、MyExternalCodeDir へのすべての参照を config.MyExternalCodeDir のようなものに変更する必要はありません。

4

2 に答える 2

3

すべての環境設定 (データベース接続/パス/URI) を 1 つのファイルに抽象化します。「config.ini」としましょう

次に、「config.ini.template」と呼ばれる「テンプレート」をコミットします。このテンプレートには、各値で何が期待されるかを明確に文書化した構成ファイルの構造と、適切なデフォルトが含まれています。次に、このファイルをコミットします。

その後、その場所に固有の現在の config.ini ファイルを削除し、それを svn:ignore に追加します。これで、config.ini.template をコピーして config.ini に貼り付け、設定を変更しても、リポジトリにコミットされません。

展開ごとに追加の手順が追加されますが、一度だけ実行する必要があります (構成オプションを追加/削除しない限り)。これは、目的を達成するための最良かつ最も標準的な方法です。

于 2009-07-17T22:18:43.550 に答える
0

環境固有の定数の値を構成ファイルに移動すると、処理が簡単になります。また、コードをバージョン管理システムの 1 つのリポジトリに保持し、ビルド出力を 2 つの別個のリポジトリ (テスト環境用と本番用) で管理します。そうすれば、自分のコード ベースを好きなように管理できます。デプロイするときは、最初にテストにコミットし、次にテストから本番環境にマージします。その時点で、構成ファイルを比較して、本番環境用の正しい構成を維持します。環境。

于 2009-07-17T22:25:52.020 に答える