5

私はAppHarborで実験している小さなプロジェクトを進めています。あなたはそれに精通していない人のために、特定のGitリモートを追加し、プロジェクト/ソースをそのリモートにプッシュすることで、自動的にクラウドにASP.NET MVCプロジェクトを構築してデプロイすることができます。AppHarborを使用しているときに、開発およびライブ設定ファイルを適切に管理するにはどうすればよいですか?

私が現在取り組んでいるのは、開発マシンに複製するGitHubというマスターGitリポジトリがあるということです。次に私の作業コピーにAppHarborリモートを追加します。私は変更を加え、安全保障のためにいくつかのコミットごとにGitHubに行きます。新しいバージョンを配備する準備ができたら、AppHarborにプッシュアップするだけです。

これは素晴らしいワークフローですが、構成ファイルに関して私にとって新しい問題を引き起こします。私がしなければならなかったのは、Web.configをソースコントロールから除外して、正しいキーがすべて含まれていてダミー値を含んだWeb.config.exampleというファイルをチェックインすることです。私はそのファイルのコピーを自分のdevマシンに作成し、.exampleの拡張子を削除して、値を編集します。

デプロイメントを開始したら、Web.config.liveという別のコピーを作成し、その値をサーバー用の正しいものに置き換えてアップロードし、.liveという拡張子を削除します。

私が今持っている問題は、Web.configは、ソース管理下にない、私はAppHarborに押すと、プロジェクトが動作しません(それが適切な構成情報を欠いているため)である場合。しかし、GitHubで公開接続文字列を公開することは望ましくありません。これはWeb.configをマスターリポジトリにプッシュした場合に発生します。

ここには何がありますか?私はどんなアドバイスにも感謝しています。

答えて

9

AppHarborは、(他の用途のなかでも)ソース管理にユーザー名とパスワードをコミットする問題を避けるために、deploy時の構成変数の置き換えをサポートしています。それはdocumented in the knowledge-baseです。

+0

おかげさまで、これは役に立ちましたが、私はこれをどのように使用するのかについてちょっと混乱しています。私が理解している方法では、自分の_development_マシンで使用する接続文字列を含む 'Web.config'を私のGitリポジトリに追加し、AppHarborにプッシュすると自動的にその接続文字列をライブ接続文字列に置き換えますそれらが同じ名前である限り)。これは正しいです? –

+0

心配しないで、私は今働いている。ありがとう! –

関連する問題