誰もが内部のasp.netのWebアプリケーションをデプロイするためのインストーラを作成していますか?

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

質問

私は常にFTP(時にはXCOPY)を介して自分のWebアプリケーションを配備し、その後、手動でデータベースのスクリプトを自分で実行しました。

私は90年代にこの方法を展開始めたが、最近、私はインストーラでいくつかのWebアプリケーションを見てきました。私は私が時代遅れのプロセスにロックされていた場合には、疑問を始めています。私はコンサルタントよ、私のアプリケーションは、通常、内部ですので、私はそれらをインストール配布し、他の人を持っていることについて心配しないでください。

しかし、私は好奇心が強いです。誰もが内部のasp.netのWebアプリケーションをデプロイするためのインストーラを作成するのですか?

もしそうなら、なぜですか? (自主、義務、または自動化プロセスの一部)

そして、あなたはそれをこのようにやって何か問題があった?

役に立ちましたか?

解決

絶対に。我々は我々のアプリのすべてを行うためにそれを使用します。私たちは、インストーラを作成してテストするQAとUAT環境でそれを実行して、我々は生産に起こるしようとしている内容を正確に把握その方法。彼らはステップを逃した場合、誰かが中に何かをする、または可能性が注文何にとして何の推測はありません。それは物事が非常に簡単になります。

ああ、私はあまりにも自動化されたプロセスを忘れてしまいました。私たちは、自動的に適切な環境にデプロイ場所(Antのヒルプロ)内のシステムを持っています。それは、すべての午前2時に行われますので、QAの人々は、行われるために何かを待つ必要はありません。彼らはアップデートでビルドを再実行する必要がある場合、開発者は、内のコードをチェックして、私たちは、ボタンを押すと、それが自動的にデプロイています。彼は会議や病気または何にだからいいえ、ビルドエンジニアを待っていません。

他のヒント

あなたが特定の手順を忘れてしまった場合、それは非常に単発エラーの可能性を低減 -

あなたはいつもの構築と展開する自動化された方法を持っていると思います。また、それはあなたが彼らに100のカスタマイズされた手順を教えることなく、簡単に他の誰かにデプロイをオフロードすることができます。プロジェクトが内部であるかどうかは、すべてのアプリケーションは、ベストプラクティスに従ってください。

個人的に私は少しOPのようです。一般的に私はFTPを使用して展開しますが、一般的に、私のアプリケーションは、内部、または他のプロジェクトの場合であることを言ってで、100%私が管理しています。

本当の痛みをすることができ、詳細なインストールプロセスを文書化すること。

-

私も最近、しかし、これについて考えてきた、とプロセスを改善することが適切な展開を使用する方法について考え始めました。

私は PowerShellのを使用して自動化することが本当に簡単ましたタスクの多く。あなたは、おそらく非常に初めは少し違うでしょうが、最後にあなたはそれがすべての.NETライブラリの電源についてですがわかります!!!

私は "<のhref =" http://weblogs.asp.net/scottgu/archive/2007/06/15/tip-trick-creating-packaged-asp-net-setup-programs-withを使用しています出力インストールMSI作成する-vs-2005.aspx "のrel = "nofollowをnoreferrer">のWebセットアッププロジェクトで" "<のhrefを=" http://weblogs.asp.net/scottgu/アーカイブ/ 2005/11月6日/ 429723.aspx "のrel = "nofollowをnoreferrer"> Web配置プロジェクトの" 内部アプリケーションのため。当社のサーバー管理者は、50ステップの手動インストールを行うには、タスクまではなかったです。私の現在のアプリケーションのために、私のサーバー管理者は、MSIインストーラの「ブラックボックス」の感触が好きで、ファイルの山と50ステップの展開マニュアルを取得好むはありません。 (ここでは、パターンを参照してください?彼が何を望んでいるか、サーバー管理者に確認して下さい。)

Webセットアッププロジェクトは、それ以外の「既定のWebサイト」、以外にインストールする方法、それはすぐに明らかになりません、それだけで実行することにより、(反復可能なインストールプロセスを作ったし、道に建てロールバックするために作成しました1つのバージョン前からインストーラ)。

これはもちろん、あなたの仮想ディレクトリが、私は適切にユーザが作成し、新しいファイルをマージするMSIを信頼しない任意のユーザーに変更content--を保持していないことを前提としています。

私たちは、オプスの人々は、サーバー上の新しいWebアプリケーションのセキュリティを設定する独自の方法を持っているので、ここではモデルを展開し、「XCopyによる」を使用します。

しかし、我々はそれがキーで何か特別なことをしなければならなかったので、のCrystal Reportsの新しいバージョンを使用していたWebアプリケーションをインストールする必要がありました際にインストーラを使用する必要がなかったと我々はの本格的なバージョンを持っていませんでしたサーバー自体にCR。サードパーティのアプリで作業するときに念頭に置いてそれを維持、彼らはMSIを簡単に扱うマージモジュールのいくつかの種類を実行する必要があります。

うん...私たちは、私はそれをすべてロール....などの前提条件....設定し、Webサービス、Windowsサービス、ユーザーアカウント、セキュリティ、フォルダ作成、GACビットの多くを必要とするアプリを持っていますインストールしてきれいにアンインストールすることができますカスタムアクションと素敵なMSIにアップ。新しいボックスに展開する作業の価値はおよそ1時間を保存します。

他の小さなアプリケーションの多くは、ちょうどそのターゲットにコンテンツをftp'ingローカルフォルダにウェブサイトを公開することによって展開されます。

これは非常にあなたのプロジェクト、あなたの環境と社内ユーザーベースの規模に依存します。我々は(SharePointのために、それはすべて一緒に違う除く)複数の環境を持っているためには小さすぎる操作されているので、私はほとんどのMSIを展開しません。我々は、彼らが我々は再びライブボックスに展開するためにVSを使用し、その後、承認されていると仮定し、開発し、開発ボックスにWebアプリケーションをデプロイするためにVSを使用します。

唯一の条件は、当社がweb.configファイルの複数のコピーを持っている(テスト、DEVが付加され、住んで)、我々は、そのが展開されてどこに応じて、該当するファイルをオフ接尾辞を削除することです。

これはおそらく最良の方法論ではありません(私はそれがありません知っている)、それが動作し、それが小規模なユーザー環境における中規模のソリューションに小規模の迅速な展開を支援します。

F5ToDebug ...

あなたはそれを正しく行うための時間を持っていけない場合は、短いカットを取るために

あなたが言ってそのOK?

「誰がテスト環境でコードをテストするために起こっているのですか?」あなたはそれはあなたが_testのための設定ファイルを持っていることを自分で言った - その理由は、適切なテストではないでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top