2016-05-18 5 views
1

Gitに格納されているMVC 5プロジェクトがあります。ビルドサーバーにTeamCity 9.1.7(build 37573)をインストールしました。開発者がコードをGitにチェックインするときにビルドを正常に実行するようにセットアップしました。私の目標は、ビルドが成功すれば、MS Web Deployを使用してMVCアプリケーションをデプロイすることです。 Webデプロイメントパッケージを使用することを提案するチュートリアルがいくつかありますが、これらのチュートリアルは6年以上経過しています。これは、TeamcityビルドをIISに正常に展開するための推奨方法ですか?Team City Build中にファイルをコピーする

さらに、いくつかの理由からgitignoreにweb.configファイルを追加しました。 GitはWeb.config.baseという名前で、開発者は独自のweb.configファイルをコピーして開始点にします。開発者は、最初にプロジェクトをプルダウンするときにweb.config.baseファイルをweb.configにコピーします。私は

 
Working Directory: (left blank) 
Command: xcopy MyMVCProject\Web.config.base MyMVCProject\Web.config 

このビルドステップは、すべての回で終了コード4で失敗するWeb.configするweb.config.baseファイルをXCOPYするチームシティーでコマンドラインタスクを設定しようとしました。 TeamCityビルド・エージェント・サービスをローカル管理者として実行するように設定しました。私はこれを、上記のように、cmdやbatファイルとして、そしてさまざまな異なるパススタイルで、まっすぐなコマンドテキストとして試してみました。これは、TeamCity作業ディレクトリ変数を使用し、MyMVCProjectをパスから除外しますxcopyが失敗する理由は何ですか?

答えて

1

これは私が直面したのと同じ問題です。

最後に、TeamCityがインストールされているサーバーにmaster web.configファイルを置きます。

その後、プロジェクトがデプロイされると、web.configファイルが、サーバー上に存在するweb.configファイルに置き換えられました。 web.cofigファイルに競合はありません

Webデプロイメントステップの後にもう1つのビルドステップを追加するだけで済みます。 ことで、あなたがxcopyを使用することができますし、これは

+0

私のコマンドラインのxcopyへのビルドステップは、好奇心をそらして失敗し続けます。私は、バッチ/ cmdファイルとまっすぐなコマンドライン構文を試してみました。あなたが使ったことの例を投稿できますか?あなた自身で作業ディレクトリを指定しましたか、あるいはTCが指定するようにしましたか? – mckennawebdev

+0

コマンドラインのランナーについては、http:// screencastを参照してください。com/t/tWWcdbQa7a スクリプトは次のようになります。 xcopy/y C:\ _ works \ Teamcity \ webconfigfiles \ Demo_Project \ Web.config C:\ _ works \ _projects \ DemoProject \ websites \ API \ v1 \ Web.config ここでは、まずweb.configをサーバーに配置してから、プロジェクトが公開されているファイルを置き換えることができます。 –

+1

ご協力いただきありがとうございます! – mckennawebdev

1

WebDeployは、依然としてASP.NET Webアプリケーションを展開するための素晴らしいオプションです。新しいASP.NET Coreフレームワークでも使用されています。 TCは使用しませんが、WebDeploy/MSDeployを幅広く使用して50以上のアプリケーションを展開しています。

あなたの設定の設定に関して、私はこのアプローチを見たことがありません。パラメータ化を使用して、環境ごとの設定変更(ローカルデベロッパーを含む)を処理します。設定値のセキュリティが気になる場合は、機密情報を持つSetParameterファイルを保護し、デフォルト値またはプレースホルダ値を持つweb.configをソース管理に含めます。

http://www.dotnetcatch.com/2014/09/08/parameterizationpreview-visual-studio-extension/

+0

それは、セキュリティについてではありません動作します

希望あなたのweb.configファイルに交換することができます。ビルド設定ごとにweb.configトランスフォームが用意されています。開発者は、ローカルで開発するときに、アプリケーションごとに異なるデータベースと設定を持っています。 Gitの変更をプッシュまたはプルする前に毎回web.configを隠す必要はなく、web.configの追跡をやめ、web.configの基本コピーのみを追跡することにしました。あなたの答えはTeamCityへの興味にはあまり触れていませんが、あなたの応答に感謝します。 – mckennawebdev

関連する問題