2012-07-10 2 views
12

私は両方を調べました。複数のサーバーで自動化されたWebデプロイメントに適しているものは何ですか?チームシップを使用して複数のサーバーにオートデプロイするためのより良いタコまたはmsdeployです

+0

私はこのようにそれらを比較することが適切だとは言いません。 OctopusはMSDeployを使用しませんが、基本的にはMSDeployのコンセプトに関するラッパーです.MSDeployを使用すると、コマンドラインを使用したり、さまざまな引数を付けてMSBuild内で呼び出すことができます。 Octopusはあなたの設定を管理するフレンドリーなWeb UIを提供します。 –

答えて

16

TeamCityとOctopusを試してみてください。 TeamCityを使用してOctopus(NuGet)パッケージを作成し、Octoツールを使用して、それぞれの成功したビルド後にテスト環境へのデプロイを自動的に開始します。その後、Octopusポータルを使用して、他の環境への展開を促進します。

は、我々はチームシティーからの展開をトリガするために、次のオクトコマンドラインを使用します。

Octo.exe create-release --apiKey=YourOctopusAPIKey --server=http://YourOctopusServer:9015/api --project=YourOctopusProjectName --deployto=YourOctopusEnvironment

オクト作成-リリースステップは別々のチームシティープロジェクトにする必要があり、そうでない場合はNuGetがで更新されることはありませんがビルドから得られたパッケージ

+0

無料ではないようです。 1つのプロジェクトを無料で導入すれば、購入する必要があります。 – sam

+0

これはベータ版から出てきました。私が知る限り、それはもう無料ではありません。それはわずか800ドル以下の無制限の使用を提供します。 –

+0

Marco:テスト環境への展開を自動的にトリガするためにオクトツールを使用する方法を説明してから、ポータルを他の環境に使用する方法を教えてください.PLease guide – sam

4

MSDeployを使用してWebアプリケーションからデータベースにすべてを展開し、Webファームフレームワークを使用してメインサーバーからセカンダリサーバーに同期できます(必要に応じて手動で別のセットのパルメータを使用することもできます) 。

「デプロイメントパイプライン」について説明します。私はあなたがチーム市に1の統合については行くかどうかはわかりませんが、基本的な前提は次のとおりです。

  1. アプリケーションをビルド、テスト、および(設定する必要が任意のパラメータを宣言)それをパッケージ化します。
  2. (自動起動されます)アーティファクトリポジトリからパッケージを入手し、msdeploy -verb:sync -source:package.zip -dest:auto,computerName=http://server:8172/msdeploy.axd -setParamFile:dev.xml
  3. を呼び出して、パッケージを(以下の手順で必要なファイルを)アーティファクトリポジトリ(おそらくTeam City)にプッシュします。
  4. (手動トリガ)
  5. を上演するパッケージを展開します(手動トリガ)

場合msdeployは、Windows資格情報マネージャーで資格情報を格納してのほぼすべての側面をパラメータ化などの機能の驚くべき数を、サポートを生きるために、パッケージを展開します配備私はあなたがそれをチェックアウトすることを強くお勧めします。 (Windows Serverのライセンスとは別に、無料です。)

1

これは依存しています。 (この質問にはまだフラグが立てられていないことがわかります)。しかし、いずれにせよ、それはおそらく、これらの自分自身に尋ねる価値がある:

  1. あなたはオフに署名し、促進するためのQAを必要とするウェブサイトを開発しているか、各ビルドを確認するためにテストスイートを自動化していますか?
  2. 複数の環境(QA、UAT、デモ、プロダクション)に展開していて、バージョンがどこにあるかの素晴らしいダッシュボードを見たいですか?
  3. 特定のユーザーに本番環境へのプッシュを許可する必要がありますか?
  4. デプロイメントを開始する前に(たとえば、Mongoをインストールして設定するためにchocolateyを呼び出すなど)、各サーバーに追加のセットアップが必要ですか。限定的なサーバープロビジョニング
  5. プロモーションライフサイクルにわたってコントロールが必要です(例:QAを経た場合のみ、制作に行く)。

上記のほとんどに「はい」と答えた場合は、「Octopus Deploy Deploy」が導入に向けて勝利すると言います。そして、5つまでのプロジェクトと起き上がり、走っていくためには無料です。

エンドユーザーや開発者が管理する必要のないWebサイトの単純なCMS管理を必要とするシンプルなWebサイトについては、AzureのすべてのものとMSDeployは素晴らしいツールです。 Richard Szalayの言葉通り、最近は定期的に公開するためのコマンドラインツールが充実しています。

ビルドサーバーに関しては、アーチファクトを作成するために使用する必要があるため、実際には問題にはなりません。それがオクトパスとの一体感があるので、Team Cityは私の勝者です。 IMO、それは別の議論です。

関連する問題