質問

私は、単一のユーザーアクションでアプリケーションをデプロイする必要があることを知っています。しかし、私はわからない

  1. .NETショップで使用する優れたツールは何ですか?
  2. 各環境の設定変更をどのように管理しますか?

継続的な統合のための優れたリソースを誰かに教えてもらえますか。いくつかの理論とステップバイステップの実用ガイドをご覧ください。

編集:
今、Web展開を自動化する必要があります。ただし、デスクトップアプリでこれを行う方法についても学びたいと思います。

役に立ちましたか?

解決

役立つと思われるブログ記事を書きました:

Visual Studio Web配置プロジェクト

1年半ですが、VSの新しい(当時の)プロジェクトテンプレートと、MSDeployと呼ばれるIISチームのコマンドラインユーティリティについて説明しました。彼らは本当に有望に聞こえたようで、複数のビルド構成をターゲットにしたり、ファーム全体で複数のサーバーを同期したり、Webサイト展開の実際の出力をより細かく制御したりするのに理想的であるように見えました。

おそらく今ではテクノロジーも成熟しています。

他のヒント

WindowsインストーラーXML で大きな成功を収めました。基本的に、XMLでアプリケーションを構成するコンポーネントを定義すると、WiXはそれをMSIパッケージに変換します。ドキュメントは比較的まばらですが、提供されているCHMファイルと検索fuを組み合わせることで、長い道のりが開けます。

MSIパッケージは、構成値の入力パラメーターを取得し、アプリケーションのデプロイ後に構成ファイルを操作するアクションを実行できます。たとえば、" msiexec / i MyCustomPackage.msi SqlServer = SomeSQLBox" Webアプリケーションをデプロイし、依存するSQLボックスの構成エントリを変更できます。

Kinookの

Visual Build Pro は、ワンクリック展開に適したツールです。使いやすく、多くの機能を備えています。私は何年も使用しています。もちろん、NAntもありますが、あまり使用していません。

設定変更の管理に関しては、デプロイメント環境を示す拡張子を持つ複数の設定ファイルを管理し、ビルドスクリプト内のステップとして単純な名前変更を行います。

たとえば、Testにデプロイする場合、Web.test.configという構成ファイルがあり、ビルドスクリプトによって自動的にWeb.configに名前が変更されます。

ここでは、TeamCityとWeb Deploymentプロジェクトを使用して、ビルドとデプロイメントをスターターとして自動化する非常に詳細なブログ記事を作成しました。

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

これにFTPの追加を示すために追加しました

http:// www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-1-ndash-ftp-deployment

基本的なプロセスフローは非常に簡単です:

  • teamcityビルドサーバーを使用して、SVNリポジトリからダウンロードします
  • サイトをビルドし、ビルドサーバー上のローカルフォルダーに展開します
  • スクリプトをサポートするコマンドラインFTPクライアントを起動します
  • MSBUILDタスクEXEC(http://winscp.net/)を使用したWinSCP
  • すべてのサイトコンテンツをアップロード
  • [飲み物を挿入]を選択してください

次に、SVNリポジトリのトランクのみを展開し、マージする前にブランチ内のすべてを開発およびテストすることを確認します。この方法では、テスト済みのもののみが展開されます。ビルドサイクルに自動化されたテストを追加すると、天国でマッチができました。

いくつかのすばらしい無料ツールは次のとおりです。

2つの異なる質問が表示されます:

  • 展開の場合:ClickOnce展開で行う必要があります。 VS.netの[ビルド]メニューでデスクトップアプリケーションを公開するだけです>パブリッシュ。 VS.netは、Webページとsetup.exeをコンパイルします。 IEまたはFirefoxおよび.net 3.5 SP1を使用しているユーザーがリンクをクリックすると、すぐに実行されます。 ClickOnceはまた、あなたのために更新を処理し、そのために開発するための広範なAPIがあります。
  • 継続的な統合は非常に異なるものです。 「CruiseControl.net」をグーグルで検索し、できるだけ多くのリソースをダウンロードして試してみることをお勧めします。基本的にはビルドサーバーですが、テスト用にSVNやNUnitに接続できます。そのような不安定な製品のために本を買うことはお勧めしません。ダウンロードして試してみることをお勧めします。

ContinuousIntegrationソリューション用のCruiseControl.NET。展開には、MSBuildプロジェクトファイルを使用します。その上に、すべてのサーバー構成ファイルを保持します。パラメーターを介してMSBuildにサーバープロパティを渡します。サーバープロパティは、使用する構成値をMSbuildに通知し、展開を完了します。 CruiseControlから直接実行できない唯一の展開は、ライブサーバーへの展開です。誤ってボタンを押したり、CC.NET Webダッシュボードにアクセスできる人が遊んでしまったりしないように、コマンドラインMSBuildをそのままにします。

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