う対応しようと考えておられるの設定ファイルのソースコントロールのツールか?

StackOverflow https://stackoverflow.com/questions/6009

  •  08-06-2019
  •  | 
  •  

質問

いて代表的なウェブアプリとのファイルを設定します。などを実行します。各開発プロジェクトの動作して当ショールーム:イメージをdev箱がありますdev,prod、ステージ。う対応しようと考えておられるのはこのソースコントロールのツールか?チェックインのこのファイルでは、チェックで異なる名前をいう仮。

役に立ちましたか?

解決

かっこいデフォルトの設定ファイルをチェックイン-ソース。そして、各開発者が独自にオーバーライド設定ファイルは対象外からのソース。アプリの初荷重のデフォルトした場合のオーバーライドファイルが存在する荷重や使用の設定をオーバーライドのデフォルトのファイルです。

一般的には、小さめのオーバーライドファイルのより良いが可能であり、これまでのように、常により多く含まれている設定のための開発者と非標準の環境です。

他のヒント

なバージョンのファイルです。版テンプレートか何かにする。

構成 コードだ版です。私の設定ファイルにユーザ名;両UNIX/MacとWindowsのアクセスできるユーザのログイン名、場所、方法によってこれらのプロジェクトだ。でもこのメソッドをオーバーライドの環境です すべ バージョン管理ます。

ることが可能になるので検討して他人の構成であり、診断の構築やプラットフォーム課題です。

私のチームは常に別バージョンのconfigファイルをそれぞれの環境に(ます。config.発。config.試験ます。config.prod).当社の導入スクリプトコピーの正しいバージョン、名前変更します。config.このようにしてフルバージョン管理の設定ファイルをそれぞれの環境で容易に実行すdiff。

現在は"テンプレート"コンフィグファイルを追加延長のための例:

web.config.rename

しかし、私は問題場合、このメソッドの重要な変更が変更されています。

の溶液を使用してくださの単一の設定ファイル(web.config/アプリです。config)を追加しました特別な部を含むファイルのファイル設定のためのすべての環境です。

があり 地元DEV質生産 部門がそれぞれの設定のキーに関連する環境設定ファイルします。

何これらの作業を全て組立名 xxx.環境 を参照しているすべてのコンテンツやアプリ(サポートとケ)における動作確認を迅速に行えされるアプリケーション環境です。

のとさせて頂きます。環境に組み立てを読み込み単線の情報から 機です。config 指定された機械ということですDEV質等このエントリが存在当社の全てのワークステーションやサーバー

武器agiは、dexで下がらないboxerぐ.

+1のテンプレートです。

ではこのタグGitは分散型の代替 温泉に心を、カスタマイズが保存されている民間検査 支店:

A---B---C---D---           <- mainline (public)
     \       \
      B'------D'---        <- testing (private)

このスキームの主軸を含む一般,"テンプレート"コンフィグ ファイルを必要最小限の調整になります。

現在、開発/テスターで調整の設定ファイルを心 コンテンツ、コミット変更を現地で一個 試験支店B'=B+カスタマイズ).毎回線 進歩も楽々が合併して試験結果 合併を確などD'(=D+に統合版のカスタマイズ).

このスキーム醐味のテンプレート"コンフィグファイルを更新:の変化の両面から取得し統合し、極めてる その結果紛争やテストの失敗がない!

に使用しましたテンプレートの前、すなわちます。dev.configます。新世紀を展望して"configなどが好のオーバーライドファイル'。ます。configファイルには多数の設定、外部ファイルを含む環境-価値観などのdbに接続します。良い解説 ポール-ウィルソンのブログ.

この金額との間の重複設定ファイルの痛みがえ、新たな付加価値/属性です。

私は常に全てのバージョンのconfigファイルのソース制御、同じフォルダとしています。configファイルです。

例えば、

web.config
web.qa.config
web.staging.config
web.production.config

うさ命名規則はない。config.生産します。ます。config)

  • このファイルのときにソートファイル名
  • このファイルのときにソートファイル拡張子
  • 場合は、誤ってファイルが押し出されて生産することはできませんので、内容はhttpでのIISを防止*.設定ファイルから任

デフォルトの設定ファイルで設定などできるアプリケーションの実行を現地でご自身で機です。

最も重要なことは、これらのファイルをほぼ100%同じであらゆる面で設定します。なんかを使用タブのショールーム:イメージは、スペースも記述.対応することができるでしょう、差分ツールに対するファイルを正確に把握で何が違うのです。Iりませんので、予めごWinMergeのための差分を、ファイルです。

が構築プロセスのバイナリがあってしかるべきだと思う課題で上書きします。configの設定ファイルに適した環境です。の場合はファイルをzip形式で圧縮し、それに関連するファイルは削除すべきであること。

@助成金についてはその通りである。

さんのチームの近くの100その他の開発者は、configファイルにチェックソース。してバージョンのファイルのリポジトリを抜くことで各チェックしない変化します。

この手のフリーです。

Iバージョン管理しながらも、最後までしっかりと押し込みまでのその他のサーバー場合、生産のサーバは変わってしまうという変化を直接コンフィグファイルです。

できない場合があり、きれいでした。

チェックされた、普通のバニラ版アプリ/web.configは一般に十分な作業をすべて開発者機といたしますのでご確認ください日でも新規設定の変更等必要な場合は、特定のセットの設定dev/試験/生産設は、チェックが別のファイルは、これらの設定は、GateKiller述べて、何らかの命名規則が、だいたいは"す。新世紀を展望して"コンフィグ"として変わらないのでファイルの拡張子.

使用していテンプレートコンフィグファイルをチェックバージョン管理、そしてステップに自動構築と置き換え特定のエントリのテンプレートファイルに環境を設定します。の環境固有の設定に保存され別のXMLファイルもバージョン管理。

まだMSBuild当社の自動構築を使用しておりますのでXmlUpdateタスクから MSBuild地域の課題 更新の値です。

長時間によってどのbcwoodしていくことができます。いつ出ます。dev.configます。テストです。configます。新世紀を展望して"config。下のソース制御、そして私の構築/システムの展開に変更して自動で展開する様々な環境です。だある程度の冗長性とのファイルを中心に、すべてのasp.net もり)が、一般的には作れないんです。ものではありませんうちのチームに記憶更新 すべての ファイルの場合にいかに変化する訳ではありません。

ちなみに、私は、いつまでも守り続けていきます".コンフィグ"のとして拡張でこれらのファイルに会います。

て、現地のディベロッパーのバージョンのconfigファイルがとれないようにしていを使用するよう努めている同地域の設定などできることの必要がないお客様が、ご自身のバージョン。いい仕事の皆様、その場合、人通りはそれに代わるだけ現地で必要に応じてからである。でも苦痛はあります。

弊社のプロジェクトを設定保存されたファイル接頭辞を当社のシステムの構築を引の適切な構成に基づく現在のシステムのホスト名.この作品も、比較的小さなチームを適用しconfig変化の中でそれぞれのファイルの場を追加しました新しい設定項目です。このように、絶対にない規模でオープンソースプロジェクト、無制限の数の開発者向けです。

い問題です。

  • まずない制御の設定ファイルが同梱されたソフトウェアです。

    この二つの簡単のための開発にチェックインは、不要な変更は、マスタ設定ファイルがある場合、そのファイルのdevolvement環境です。

    その場合は別途設定ファイルに含まれているインストールを行なうことができるのを忘れて新しく追加するための設定では、コメントを得られるので、あなたのと同期をとるコメントのdevolvementの設定ファイルです。

  • している問題を開発していくのがコピーの設定ファイルを日付として他のデベロッパーの追加新しい構成を設定します。しかし一部の設定のようなデータベース接続文字列毎に異なる。

  • が3問題の質問に応答しない。 い合の変化、お客様への設定ファイルをインストールすると、新しいバージョンアプリを作成できるソフトウェア?

俺の良い解 この作品もすべての場合は いくつかの 部分的なソリューション この組み合わせ可能な 組み合わせには、必要に応じて軽減 の問題。

  • まず点数の削減の設定項目に持っていると主設定ファイルを指定します。

    さんたちに必要なお客様の変更をマッピングでの使用に堪能な設定によりどちらのモ(その他の構造のコードです。

    もdepency注入設定します。

  • 分割の設定ファイル可能な場合、例えば使用には別のファイルの設定かLog4Netます。

  • な繰り返し項目間の設定ファイル、例えばい4webアプリケーションをすすべてのインストールされた同機は、全体の構成ファイルにします。configファイルの各アプリケーションのポイントです。

    (利用相対パスによるデフォルトで、レイアウトデザインに変更します。設定ファイル)

  • 工程の開発設定ファイルの出荷設定ファイルを指定します。

    されている間に行うことができるようにデフォルト値はXmlコメントを設定し、設定ファイルが構築が行われます。有する部分を削除してくださの一部をインストーラを起動します。

  • なるデータベース接続文字列を、当たります。

    E.g初探"database_ianr"(ianrは私のユーザー名または名機)の設定ファイル、実行時の場合は見つかりませんでしょ"データベース"

    て2級レベル"等の-oracleまたは-sqlserverでより早く開発者への両方のデータベースシステム。

    このコースも行いその他の設定値です。

    すべての値の末尾が"_userName"でストライプ出荷前の設定ファイルを指定します。

しかしながら、最終的にはうまで "オーナーの設定ファイル"を の責任を持って管理に 設定ファイル(s)として以上または します。したも diffのお客様の塗型 設定ファイルの前に 出荷しています。

できませんの除去の第一人者もこの問題です。

ないと思うのを一気に解消することができますものとして、すべての場合においでとに異なる可能性がある感度のデータのコンフィグファイル、またはプログラミング言語を使うなどその他多くの要因にかの確保という点でも重要なこと設定ファイルはすべての環境下でのソース制御できますので、常に知り合った人、より重要なことに、回収できれいけば、間違っています。います。

うまいます。こちらはnodejs事業通常はないと思い作品の枠組みに努めています。

僕が作成 configs ディレクトリのルートでは、プロジェクトの下のディレクトリに保持ファイルを複数のファイルのすべての環境(時間が別々のファイルに各開発者の環境にも対応しているすべての追跡ソース。であり、実際のファイルのコードの名前 config その根底にある。このファイルなどの追跡.このようになります

root
|
|- config (not tracked)
|
|- configs/ (all tracked)
    |- development
    |- staging
    |- live
    |- James

誰かをチェックアウトし、彼のトークコピーコンフィグファイルのためのuntracked config ファイルと彼は自由に編集することができました要望にも責任をコピーこれらの変化はその後を継続することを約束、他の環境のファイルとして必要です。

およびサーバーのuntrackedファイルするだけで簡単にコピー(参考)の追跡ファイルに対応する環境です。JSまけ1ラインで要求されるファイルです。

この流れはちょっと複雑なものでも大きなメリット:1.すいコンフィグファイルの取得を削除または変更のサーバなバックアップ 2.同一の場合には、開発者がカスタムconfigた機械と機械が停止の理由 3.の前に展開できる差分のためには設定ファイル developmentstaging 例えば、見えない。

ただ、生産のコンフィグファイルを確認す。この開発者の責任のファイルが引き出ることができなければ、このソースで安全に集ます。こ焼きのない提案です。

私が抱える問題発見解決します。最初に追加しているため、すべてのファイル中のリポジトリ(または開発者。

なの開発を取り出しからファイルのリポジトリの開発者コンフィグであるもございます。変更時には、このファイルGitはないことを意識しています。そのように修正することができなくな押し/めのリポジトリが泊ます。

私は、このgitコマンド: update-index --assume-unchanged.また、batファイルが実行されprebuildのプロジェクトを含むファイルの変化は無視するよGit.こちらのコードでくつろぎいただけますのbatファイル:

IF NOT EXIST %2%\.git GOTO NOGIT
set fileName=%1
set fileName=%fileName:\=/%
for /f "useback tokens=*" %%a in ('%fileName%') do set fileName=%%~a
set "gitUpdate=git update-index --assume-unchanged"
set parameter= "%gitUpdate% %fileName%"
echo %parameter% as parameter for git
"C:\Program Files (x86)\Git\bin\sh.exe" --login -i -c %parameter%
echo Make FIleBehaveLikeUnchangedForGit Done.
GOTO END
:NOGIT
echo no git here.
echo %2%
:END

私のprebuildいう話を、batファイル、例えば:

call "$(ProjectDir)\..\..\MakeFileBehaveLikeUnchangedForGit.bat" "$(ProjectDir)Web.config.developer" "$(SolutionDir)"

いているので、batファイルをコピーする正しい設定ファイルに。config/アプリです。config.また、このbatファイルのprebuild.このコードがこのbatファイル:

@echo off
echo Comparing two files: %1 with %2
if not exist %1 goto File1NotFound
if not exist %2 goto File2NotFound
fc %1 %2 
if %ERRORLEVEL%==0 GOTO NoCopy
echo Files are not the same.  Copying %1 over %2
copy %1 %2 /y & goto END
:NoCopy
echo Files are the same.  Did nothing
goto END
:File1NotFound
echo %1 not found.
goto END
:File2NotFound
copy %1 %2 /y
goto END
:END
echo Done.

私のprebuildいう話を、batファイル、例えば:

call "$(ProjectDir)\..\..\copyifnewer.bat" "$(ProjectDir)web.config.$(ConfigurationName)" "$(ProjectDir)web.config
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top