質問
ご存知のとおり、Microsoft からの次の「大企業」かつ「エンタープライズ」製品です。
それは私だけでしょうか、それとも人間にとっては本当に難しいのでしょうか?主なハイライトは次のとおりです (IMO):
- まったく不可解な構文 (
-skip:objectName=filePath,absolutePath=App_Offline.*
ただスキップするためだけにApp_Offline.html
) - 後から考えたこととして現れる
- 徹底した文書化の欠如
- 拡張性については何も語られていません (いくつかのブログ投稿を除いて)。さらに、苦労して開発したこれらの拡張機能はすべて GAC に登録する必要があります そして レジストリ
- うーん、レベルが低すぎます (メタデータ/メタキー;このすべてが IIS ジャズです)
- MSBuild との統合なし
確かに、MSDeploy と MSDeployAgent は非常に強力ですが、本当に必要なのでしょうか? それ 比較的単純なタスクに対して複雑ですか?
解決
Iすぎドキュメントの欠如と、このツールの見かけ上の低レベルな性質上、あなたの不満を共有します。
どのMSが行っていることは最終的にアドレスをパラメータ化を含むとあなたがすることができ、実際にスクリプトサーバ全体の展開、構成などの無料のツールを作成しているしかし、これは残念ながら行うには非常に複雑なものである - コンフィギュレーションのビットが実際に入ってどのように多く与えられましたWebサーバ - これはおそらく、それをすべて行うための最善の方法である。
。 再びしかし、短い説明で、 - -私たちが今必要なのは、本当に良いIIS内に埋め込まれているなどのGUI缶のヘルプこれらのパッケージビルドアップ、およびスクリプトが良好であることをGUIがあるので、うまくいけば、すぐにそれに対処することがあります。
>ステージング - -、機能面では、私はのDEVからサイトを展開するために、現時点で使用しています>ライブにははバインドされたIPアドレスを変更するためのパラメータを持つなど、私は深く、それがかかったイライラしました私の数日はそれをすべての作業を取得するために - しかし、今私はそれを持って、私はITサポート側で、おそらくヒューマンエラーのの多くを削除することができます - 私たちの展開を担当している者。私は今だけを心配する私のマスターステージングサーバの構成を持っている - 。そして私が展開するたびに、Webファーム内のすべてのサーバーが同期して保持されることを確認することができます。
としてサイードはこれで仕事に(ウェブサイト展開機能は現在場合msdeployを使用して実装されている)のMSBuildタスクが2010年にあり、同様に、言及 - チームビルドを持つ - もVSTeamSystemに真の継続的インテグレーション環境の可能性をもたらしていますその最後のステップは非常にエキサイティングであるとして、実際に完全なWeb展開を行うことができます(付与された、と怖い!)。
他のヒント
実は場合msdeploy用のMSBuildタスクがあります。彼らは、.NET 4 / Visual Studioの2010年に同梱されます。
エッジの周りビット荒いが、私は場合msdeployのように来ているが、かなり。ファーム内の同期のWebサーバにそれを使用すると、それが効率的(コピーのみの変更)であり、コンテンツファイルに加えて、実際のIISの設定の面倒を見るように非常に便利です。場合msdeployは、さまざまなシナリオおよび使用のためのビルディングブロックであるように思えます。また、前述のように、私は自明簡単にチームシティーから私のWebアプリケーションの展開を行うために、こののMSBuildタスクの利点を撮影した.NET 4の場合msdeployためのMSBuildタスクがあります。私はここでそれをここにブログました。
チームシティーからWeb配置(MS配備) - ます。http:// www.geekytidbits.com/web-deploy-ms-deploy-from-teamcity/する
最近デプロイメント パイプラインの実装を開始しましたが、以下のリンクが非常に役立つことがわかりました。
- 継続的インテグレーションに使用した MSBuild コマンド:http://www.troyhunt.com/2010/11/you-deploying-it-wrong-teamcity_24.html
- WebDeploy 同期コマンド。実稼働サーバーへのパッケージのデプロイメントに使用しました。http://sedodream.com/2012/08/20/WebDeployMSDeployHowToSyncAFolder.aspx
また、次の参考文献も使用しました。
- dnrtv.com の MSBuild に関するビデオ
- Microsoft Press の書籍「Microsoft® ビルド エンジンの内部:MSBuild と Team Foundation ビルドの使用」 Oreilly から PDF 版を購入できます
最後に、「継続的デリバリー」の本は、デプロイメント パイプラインについて良いアイデアを与えてくれました。この本は MSDeploy に焦点を当てていませんが、本当に読む価値があります。
ドキュメントの文がMSFT 1.0製品の典型的なもので、残念ながらMSDNもはやギャップを埋めるために、専用の開発技術者を持っている---代わりに、ウェブはそれを提供することを盲目の信仰があります。
ありません私は実際に私のライティングスキルをオフ粉塵を考慮し、おそらくそれのための市場があるので、その上に短い電子ブックを書くのです....
Msdeploy には明らかに PowerShell の要素が含まれています。シンプルさよりもパワーを重視する 悪いほど良い.
Windows にこれに代わるものはありませんが、その機能の一部をハイブリッド化して自動展開を行うことができます。例えば:
- Team City と msbuild を使用してソリューションをコンパイルする
- msdeploy を使用して、ビルド サーバー上のサイトと web.configs を変換します。
- サイトの ZIP ファイルを手動で FTP 送信します (FTP はサポートされていません)。
- あるいは、リモート展開機能を使用します。これにはポート 8172 を開く必要があり、多くのセキュリティ変更が必要ですが、私の知る限りでは負荷分散のための譲歩はありません。
- ライブ サイトで msdeploy を使用して変更を同期する
巨大なスイスアーミーナイフであるため、ツールとしては明らかにサービスプロバイダーを対象としています。これを使用すると、IIS に対してあらゆる種類の操作を行うことができますが、これはほとんどの場合、中小企業にとってはやりすぎです。私は大規模な IIS セットアップの経験がないので、おそらくそれが輝けるところです。