問題タブ [msdeploy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio - MSDeploy による IIS 設定の上書き
最後に、ソース管理の変更に基づいてビルドするための TeamCity セットアップと、「package」ターゲットと生成された「deploy.cmd」スクリプトを使用してステージング サーバー上の IIS にパッケージ化およびデプロイするための別の MSBuild タスク セットアップを用意しました。ビルドイベント、ファイルの包含/除外などに関してはすべて完璧です...
しかし、パッケージの展開方法に問題がありました。パッケージをサーバーにデプロイするたびに、IIS 設定が吹き飛ばされます。たとえば、キャッシュの有効期限ヘッダーを設定したり、静的圧縮を有効にしたりできます。パッケージを展開した後、それらはサーバーの既定値に戻ります。
これを回避する方法を知っている人はいますか?渡すことができるパラメーターまたは無視できるルールはありますか?
msdeploy - MSDeployで複数スキップしますか?
-skipパラメータを知っていますが、MSDeployに複数のディレクトリをスキップするように指示する方法はありますか?パラメータを複数回呼び出すことは機能していないようです。
msbuild - TeamCityを使用して特定のリビジョン番号を構築および展開します
私はTeamCityとMSDeployを理解し始めており、SVNコミットによってトリガーされる開発環境へのデプロイがうまく機能しています。私が持っている質問は、テスト環境へのリリースに関するものです。特定のリビジョン番号に基づいて、オンデマンドでこれを実行したいと思います。ユーザー定義のリビジョンに基づいてTeamCityビルドを構成するための最良の方法は何ですか?
msbuild - MSBuild は、1 つのコマンドで MSDeploy を介して IIS 6 にパッケージ化および展開できますか?
これが私がやりたいことです:
- 「パッケージ」を対象とする既存の .csproj をビルドします
- MSDeploy を使用してパッケージを IIS 6 サーバーに公開する
これは、1 つのステップで構成しようとしている TeamCity のビルドとリリース用です。カスタム ビルド ファイルを作成することもできますが、アプリに追加の構成を追加せずにこれに取り組もうとしています。
WMSVC 経由で公開できる MSBuild パラメーターの例はたくさんありますが、これは素晴らしい例です。しかし、IIS 6 ではうまくいきません。これは可能ですか、それともカスタム ビルド スクリプトまたはパッケージ ビルドとそれに続くパブリッシュ ビルドのどちらかが残っていますか?
visual-studio-2010 - 一部のWeb.config変換がトークン化されてSetParameters.xmlに変換され、他の変換はトークン化されないのはなぜですか?
私は最近VS2010で構成変換を使用していますが、一部の変換がパッケージ内のWeb.configに直接適用されるのに、他の変換はSetParameters.xmlのトークンに対して保存され、公開時に適用される理由について混乱しています。
たとえば、次の接続文字列とアプリ設定を使用してWeb.configを取得します。
次に、現在のビルド構成に対応する構成変換を示します。
これらは両方とも「置換」変換であり、一方は「名前」に一致する接続文字列であり、もう一方は「キー」に一致するアプリ設定である以外は、私の目には同じです。
次に、結果のパッケージのSetParameters.xmlファイルの内部を調べます。接続文字列のみに、setParameterノードがあります。PackagTmpフォルダーのWeb.configでは、接続文字列に「$(ReplacableToken_AutoDeployDb-Web.config Connection String_0)」値があり、パッケージがデプロイされている場合にのみ適用されるアプリ設定変換が既に適用されています。
どうしてこれなの?それは接続文字列(または逆に、アプリの設定)に固有のものですか?このアプローチの理論的根拠に感謝します。なぜそれが一部の設定に適用され、他の設定には適用されないのかはっきりしていません。
誰かがこれに光を当てることができますか?
powershell - MSDeployAPIを使用してsetParamFileを定義するにはどうすればよいですか
MSDeploy APIを使用してMSDeploy.exeから-setParamFileパラメーターを定義するにはどうすればよいですか?
私はpowerShellで次の同等のものを書き込もうとしています:
これが私がこれまでに持っているものです:
visual-studio - [proj] .deploy.cmdを介して公開すると、WebDeployは401を無許可で返します
Web配置に少し問題があります。解決できないようです。パッケージ内の[proj].deploy.cmdコマンドを使用してWMSvcに公開しようとするたびに、「リモートサーバーがエラーを返しました:(401)Unauthorized」というメッセージが表示されます。コマンドは次のようになります(プロジェクトの名前は「Web」、サーバーの名前は「AutoDeploy」)。
Visual Studioを介してhttps:// AutoDeploy:8172 / MsDeploy.axdに正常に公開できるため、サービスは確実に実行され、管理者として正常に認証できます。管理者(ローカルのWin 2k8 VPCのほんの少し)としてログオンしているときに、パッケージに対してマシン上でこれをローカルで実行しても機能せず、管理者アカウントで/Uおよび/Pパラメーターを追加しても何も起こりません。
失敗したリクエストのトレースを有効にしてこの出力を取得しているので、少なくとも参照するものがありますが、残念ながら、根本的な原因を特定できません。Visual Studioと同じクレデンシャルで同じサービスに接続しようとしていますが、明らかに何かが異なります。
興味深いことに、次のようにWeb配置エージェントサービス(MsDepSvc)に正常に公開できます。
しかし、私は本当にWMSvcを実行させたいです!何かご意見は?
msbuild - MSBuildを使用してMSDeploytofilesystemでこの深いフォルダ構造を回避するにはどうすればよいですか?
私はこのMSBuildの問題に頭を悩ませています。
TeamCityを使用して、2つのMVCWebサイトを含むソリューションを構築しています。ビルドの一部として、ビルドサーバー上のフォルダーにデプロイします。IISはこのフォルダーをポイントして、管理者に表示される統合ビルドを提供します。
これは、MSDeployを使用してパッケージを公開するMSBuildファイルのコードですが、zipファイルとしてではありません。
ここでの問題は、非常に深いフォルダ構造が得られることです。ここに例があります...
C:\ DEPLOY \ Archive \ Content \ C_C \ Users \ Edmond \ Documents \ Visual Studio 2008 \ CreationGreen \ Creation \ Code \ core \ trunk \ Website \ Website \ obj \ Release \ Package \PackageTmp[公開ファイル]
私は本当に...のような予測可能なフォルダにデプロイしたいです。
C:\ build \ website[公開ファイル]C:\ build \mobilewebsite[公開ファイル]
それが背景です。ここに特定の質問があります。
MSDeployを使用してローカルファイルシステムに公開しようとして間違いを犯していますか?基本的に、構成変換を備えたVS2010の「公開」機能に相当するものが必要です。リモートIISインスタンスなどに展開しようとはしていません。
これを行う方法はありますが、公開フォルダーを指定しますか?
私はMSBuildコピータスクを使用してファイルをより適切なフォルダーにコピーしようとしていますが、ワイルドカードを使用して取得する必要のあるフォルダーを指定する方法を理解できません。次のようにする必要があります...
C:\ FolderPackageEndsUpIn [ANYFOLDERS] \ Website [ANYFOLDERS] \ PackageTmp** 。
ヘルプ!
msbuild - MSBuild は、統合認証または基本のみを使用してデプロイできますか?
MSBuild コマンド ラインから IIS6 の MSDepSvc に Web アプリ パッケージをデプロイしています。これは、基本認証を使用して次のコマンドで正常に動作しています。
ただし、私が本当にやりたいのは、ユーザー名とパスワードのパラメーターを削除し、現在のユーザーの ID の下で統合認証にフォールバックすることです。このコマンドはビルド サーバーに送られますが、ターゲット環境 (MsDepSvc に必要) で管理者権限を持つアカウントのプレーン テキストの資格情報が表示されないようにしたいと考えています。これを行う方法に関するドキュメントを見つけることができず、資格情報を削除すると、公開しようとすると 401 無許可が返されます。
特にイライラするのは、統合された認証を使用してパッケージで展開コマンドを問題なく実行できることです (資格情報を含めないでください)。MSBuild コマンド ラインからは実行できないようです。パッケージをカプセル化し、ビルド ファイルを編集せずにプロセスを 1 つのコマンドにデプロイしようとしていますが、現時点ではこれが唯一の方法です。
そこに何かアイデアはありますか?
編集 Sayed と話し合い、コマンド ライン出力をもう少し詳しく調べた後、上記の MSBuild コマンドを (ユーザー名とパスワードのパラメーターなしで) 実行した後、次の MSDeploy コマンドが呼び出されます。
UserName 属性が設定されていることがわかります。値は、現在ログオンしているユーザーのユーザー名です。これを取り出して上記のコマンドを直接実行すると、デプロイはうまくいきます。
その上で、元の MSBuild コマンドが MSDeploy を呼び出すときに UserName 属性を挿入するのはなぜですか? これが現在唯一の障壁のようです。
visual-web-developer - Web Deploy パッケージを使用してサブフォルダーの ACL を設定する
Visual Web Developer Express 2010 で、展開された Web サイトのサブフォルダーに ACL を設定する展開パッケージを構築しようとしています。次の情報を使用しましたhttp://leethams.wordpress.com/2010/06/12/modifying-directory-permissions-with-web-deployment/
これは私のテストです:
新しい空の ASP.NET アプリケーション (この例では WebApplication2) を作成します。
高度なコンパイル オプションで、.NET Framework のターゲット バージョンを 3.5 に変更します。
新しいフォルダー (この例では Config) を作成し、フォルダー内に任意のファイルを追加します。
この内容で、WebApplication2.wpp.targets という名前の新しいファイルを作成します。
コマンドラインから実行すると、すべて正常に動作します。
ここで、Config フォルダーのアクセス許可を設定するために、次の行を変更して展開パッケージを再構築します。
次のエラーが表示されます。
英語では、「エラー: 'setAcl' プロバイダーを物理パスで使用する場合、'setAclUser' の値を指定する必要があります」と表示されます。3 番目の setAcl が、展開パッケージが配置されている物理パスに変更されていることに注意してください。
次に、このように変更しようとしました:
しかし、エラーは残ります。「/t」スイッチを使用して展開パッケージを実行すると、エラーはスローされませんが、物理パスは引き続き表示されます。IIS パスをハードコーディングして、次のように行を変更できます。
それは正常に動作します。ただし、インストール パスをパラメーター化する必要があるため、そうしたくありません。
パスをバックスラッシュに変更しても違いはありません。
どんな助けでも大歓迎です。ありがとう