3

ASP.NET アプリケーションをどのように展開しますか? UNC パス/マップされたドライブを使用して運用サーバーにプッシュしますか? FTP? SFTP? SSH/SCP (インストールされたサードパーティ アプリ経由)? 他の何か?それとも、ソース管理の更新またはその他のメカニズムを使用して、運用サーバーからプルしますか? 運用サーバーがインターネット上または DMZ 内にあると考えてください。プッシュするには、安全でないファイアウォール ポート (UNC または FTP 用) を開く必要がありますよね?

ASP.NET の展開哲学を固めようとしています。私の理想的なワンクリック ビルド/デプロイ プロセスには、MSBuild、Web デプロイ プロジェクト、CruiseControl.NET が含まれます。しかし、実際にビットを本番サーバーに配信する方法にまだ苦労しています。

Windows と *nix プラットフォームの両方で時間を費やした後、私は Windows 展開の話に不満を感じ、他の人がこれをどのように行っているか興味があります。

4

2 に答える 2

2

これが私たちが発行する方法です:

  • Visual Studio からローカル フォルダーに発行する
  • いくつかの不要なファイルとフォルダーを削除します (一見理由もなく作成される空の Web 参照フォルダーなど...)。
  • ジップ
  • リモート デスクトップを使用してステージング サーバーにコピーする
  • サイトの一時フォルダーに解凍します (これにより、ファイルに適切なアクセス許可が与えられます)
  • 現在のファイルをバックアップ フォルダに移動する
  • 新しいファイルをサイトに移動
  • ステージング サーバーで動作することをテストする
  • 2 台のフロント エンド サーバーにファイルをコピーするスクリプト (ホスティング会社によって設定されたもの) を実行します。

(ただし、フロント エンド サーバーの 1 つにハードウェアの問題があったため、短期的な (?) 解決策として、別のサーバーをフォント エンド サーバーとして借りることになりましたが、スクリプトはそのサーバーにファイルをコピーしません。昨年かそこら、リモート デスクトップを使用してライブ サーバーにログオンし、手動でファイルをコピーし、現在のファイルをバックアップ フォルダーに移動し、新しいファイルを所定の場所に移動する必要がありました。)

于 2009-09-17T20:01:00.717 に答える
2

私は Cruisecontrol.net を使用していますが、とても満足しています。クルーズ コントロールが呼び出す nant スクリプトがあります。

  1. ステージング SVN ブランチからソースを取得します
  2. それを構築します
  3. ファイルを各本番サーバーにコピーします
  4. svn のプロダクション ブランチにタグを作成して、プッシュされたもののスナップショットを取得します。

よく働く!1 年前まではすべて手動で行っていましたが、これがどれほど優れているかはわかりません。少し学習曲線があり、事前にスクリプトを書く必要があります。これには数日かかる場合がありますが、最終的にははるかに多くの時間を節約できます.

于 2009-09-17T19:25:49.220 に答える