問題タブ [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.
asp.net - ビルドされたWebサイトパッケージを新しいIISWebサイトにMSDeployする方法
ビルド/デプロイプロセスを自動化しようとしています。
これまで私が使用しているもの:
- メインのWebアプリケーションプロジェクト(および依存プロジェクト)を備えたVisualStudio2010ソリューション
- MSBuild
- MSDeploy
- CruiseControl.Net
そのため、多くのラングリングと歯ぎしりをした後、CCNetは、Webサイトを構築、パッケージ化、および展開するためのMSBuildスクリプトを開始しました。MSBuildスクリプトは次のとおりです。
ターゲットマシンにIISで構成されたWebサイトが既に存在する限り、これはすべて正常に機能します。これは、既存の「実際の」サイトである必要はありません(シェルの場合もあります)。
これは素晴らしいことですが、Webアプリで実行できるように、MSDeployにWebサイトを自動的に作成してもらいたいと思っています。これは可能ですか?もしそうなら、どんな助けでも大歓迎です!
tfs - TFS ビルド デプロイ
こんにちは、私は TFS を使用しており、ビルド後に 2 つの Web アプリケーションをテスト サーバーにデプロイしたいと考えています。展開後、Web アプリケーションの 1 つで Web ページを呼び出して、すべてのデータを削除し、テスト データを挿入するなどの作業をトリガーしたいと考えています。
どうすればこれを達成できますか?
gac - MSdeploy.exe を使用した WebDeploy は、DLL が別のプロセスによってロックされているため、GAC アセンブリの同期に失敗します
msdeploy を使用して GAC アセンブリを多くのアプリケーション サーバーに同期するという問題が発生しています。
このコマンドを実行すると
次のエラーが表示されます。
*Microsoft.Web.Deployment.DeploymentException: (28/09/2010 16.46.37) リモート コンピューターで要求が処理されたときにエラーが発生しました。---> Microsoft.Web.Deployment.DeploymentClientServerException: 'INPS.DNA.dll' の処理中にエラーが発生しました。---> Microsoft.Web.Deployment.DeploymentException: エラー コードは 0x80070020 でした。---> System.IO.IOException: 別のプロセスで使用されているため、プロセスは 'C:\Windows\assembly\GAC_MSIL\MYASSEMBLY\1.0.0.0__a31fe99d2f98435c\MYASSEMBLY.dll' にアクセスできません。Microsoft.Web.Deployment.Win32Native.RaiseIOExceptionFromErrorCode (Win32ErrorCode errorCode、おそらくフルパスの文字列) で、Microsoft.Web.Deployment.FileStreamEx.CreateInstance (文字列パス、FileMode fileMode、FileAccess fileAccess) で、Microsoft.Web.Deployment.FilePathProvider で。
Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable) で Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentWorkerR equest workerRequest) --- 内部例外スタック トレースの終わり --- - Microsoft.Web.Deployment.StatusThreadHandler.CheckForException() で Microsoft.Web.Deployment.AgentClientProvider.RemoteDestSync(DeploymentObject sourceObject, DeploymentSyncContext syncContext) で Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable) 、ContentRootTable contentRootTable) Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentProviderOptions providerOptions,DeploymentBaseOptions baseOptions、DeploymentSyncOptions syncO ptions) で MSDeploy.MSDeploy.ExecuteWorker() エラー数: 1.*
DESTINATIONSERVER でIISRESETを実行すると、エラーは発生しません。
私の質問は:
IISRESET コマンドを実行せずに DLL のロックを解除することは可能ですか?
Web サーバー全体を再起動することは避けられると思います。
手伝って頂けますか'
どうもありがとう!
よろしくお願いします。
msdeploy - パッケージを作成するための MSDeploy dbFullSql プロバイダーは機能するが、デプロイに失敗する
現在、MSDeployを使用して、一連の Web サイトを II6 から IIS7.5 を実行している別のマシンに移行しています。実際の Web サイトの移行は期待どおりに機能しますが、各 Web サイトに関連するデータベースも移行しようとしています。
これまでのところ、一連のテスト サイトを正常に移動することができましたが、ライブ サイトに対しては展開に失敗します (400 MB のデータベースで 1 時間以上の非常に長い実行時間)。私が見ている失敗は、SQLデータベースに(データとして)保存されているJavaScriptに関連しているようです。SMO BatchParserが生成した SQL スクリプトを読み込むと、データに JavaScript を含む行を挿入しようとする最初の行で停止するようです。
私が使用しているMSDeployコマンドは次のとおりです。
MSDeploy エラーは次のとおりです。
エラーの原因となっているsql ファイルからの抜粋:
また、 IIS UI エラーからパッケージをインポートしようとすると、次のようになります。
どうすればこれを回避できるかについて、誰か考えがありますか?SQL Management Studio を使用して直接パッケージから sql ファイルを実行すると、問題なく実行されます。したがって、SMO BatchParser にバグがない限り、この問題を回避するために設定できる何らかの SMO オプションが必要です。
どんな助けでも大歓迎です!
msdeploy - MSDeploy の Null 引数エラー
次のエラーが表示されます - コード「エラー: '接続文字列' 引数を null または空にすることはできません。」MSDeploy を実行するとき。SetParameters.xml ファイルを調べたところ、次のパラメータ設定に気付きました。
このパッケージを開発したのは私ではなく、引数がどうあるべきかわかりません。
database - Web配置コマンドラインツールのdropDestinationDatabaseオプション
ホー、
私はmsdeployコマンドラインツールを取得してデータベースを開発からテストにコピーしようとしています。
テスト時にデータベースを削除してから再作成することを除いて、機能しているようです。
これは私のコマンドラインです。
dropDestinationDatabaseオプションを無視するのはなぜですか?
管理者ユーザーには、ドロップの権限があります。
よろしく、ロブ
powershell - この PowerShell コマンド ラインの引用/エスケープはどうなっていますか?
私は明らかに自分が何をしているのかわかりません。
ようやくこの PowerShell コマンドが機能するようになりました。しかし、なぜそれが機能するのかわかりません。
私の懸念は、最後の "" 文字です。
二重引用符が必要なのはなぜですか?
私のIDE(PowerGUI)は、行が正しく終了していないと言っていますが、それがコマンドを必要に応じて実行できる唯一の方法です。
私と IDE が PowerShell での引用について知らないのは何ですか?
echoargs からの小さな出力:
私が実行した場合:
私は得る:
二重引用符なしで実行すると、次のようになります。
注意すべきもう 1 つの点は、上記のコマンドは:
、最後の引数の代わりに = を使用した場合にのみ機能することです。
これはうまくいきません:
私は次のような配列ソリューションを試しました:
それでも同じエラーが発生します。
エラー: 認識されない引数 '"-postSyncOnSuccess:runCommand=powershell -Command c:\temp\kslog\remotetasks.ps1 Deploy"'. すべての引数は「-」で始める必要があります。
ここで何か新しいことを間違っていますか?
c# - MSDeploy:コマンドラインから「宛先に余分なファイルを残します」?
私はMSDeployを使用して、CI中にさまざまなサーバーに物事を公開しています。Visual Studio 2010から公開する場合、[宛先に余分なファイルを残す]オプションがありますが、コマンドラインからMSDeployを呼び出すと、この機能のフラグが見つからないようです。
誰かがこれを行う方法を知っていますか?
asp.net - ASP.NET 接続文字列の展開のベスト プラクティス
この投稿の主題を達成するために調査した方法と、それらの問題についてまとめた (役立つことを願っています) まとめをまとめました。他に気に入った方法があれば教えてください。特に、私が言及した方法では解決できない問題を解決できる場合は、教えてください。
接続文字列は web.config のままにし、XDT/msdeploy 変換を使用して、アクティブなビルド構成 (web.PublicTest.config ファイルなど) に応じた設定に置き換えます。これに関する私の問題は、いくつかのサーバー固有の設定を、多くの構成要素を含むグローバルに同一のファイルにマージして埋め込むことです。さらに、複数のピア レベルのアプリケーション間で接続文字列の定義を共有することはできません。
web.config で接続文字列に configSource="DeveloperLocalConnectionStrings.config" 値を指定し、XDT でこの値を変換して、コードベース内の複数の環境固有ファイルの 1 つを指すようにします。これに関する私の問題は、すべての環境のパスワードをすべての宛先に (もちろん SVN に加えて) 送信し、サーバー上に未使用の構成セクションが誤って使用されるのを待っていることです。
web.config ではなく、machine.config ファイル内の特定の接続文字列。問題: 一体誰が machine.config で接続文字列を見つけることを期待しているのか、その結果、予期せぬ名前の衝突が発生する可能性が高くなります。
configSource="LocalConnectionStrings.config" を指定し、値を変換せず、プロジェクト xml を編集して接続文字列構成のデプロイを除外します。http://msdn.microsoft.com/en-us/library/ee942158.aspx#can_i_exclude_specific_files_or_folders_from_deployment- これは、プロプライエタリ (非分散型) Web アプリケーションのニーズに対応するために私が見つけた最良のソリューションですが、ある日別のチーム メンバーが来て、なんらかの理由で本番サイトをコピーしてテストするのではないかと疑っています。UAT 中に実稼働データベースが変更されています。(更新: このシナリオではワンクリック パブリッシュを使用できないことがわかりました。-skip パラメーターを指定した msdeploy コマンド ラインのみです。上記のようにファイルを除外することは、" ではなく "なし" コンパイル アクションに設定することと同じです。 Content" となり、パッケージによって展開ターゲットから削除されます。)
まだ設定されていない場合は、接続文字列を要求するように展開パッケージを配線します (これを行う方法はまだわかりませんが、可能であることは理解しています)。これにより、上記の #4 と同様の結果が得られます。
configSource="..\ConnectionStrings.config" を指定します。選択したアプリ間で構成を共有でき、アプリケーション ディレクトリにマシン固有のものは何もないため、私のニーズには最適です。残念ながら、この属性では親パスは許可されていません ('appSettings file=""' の場合のように - configSource= 参照内で file= をうまく使用できることにも注意してください)。
ps これらのソリューションの一部については、ここで説明します: ASP.Net 構成ファイル -> 複数の開発者と展開サーバーの接続文字列
web-services - Visual Studio 2010 で Web 配置パッケージをカスタマイズする
私は VS 2010 で .Net 4.0 をターゲットとする WCF DataService ビルドを持っています。これはすべてうまくいきます。展開パッケージを作成し、MSDeploy と zip ファイルを使用してアプリケーションを Web サーバーに展開しました。TFS ビルド エージェントで自動ビルドをセットアップすると、展開パッケージの内容が変更されました。展開パッケージで厳密な名前のアセンブリを取得できなくなりました。これらの除外されたアセンブリは、ソリューション内のプロジェクトであり、ビルド サーバー上にビルドされます。
展開パッケージの構成オプションはあまり多くありませんが、ビルド サーバーが同じ設定を使用してワークステーションとは異なるパッケージを作成する理由を知りたいです。
「このアプリケーションの実行に必要なファイルのみ」を使用しています。「生成されたデバッグ シンボルを除外する」と「App_Data フォルダーからファイルを除外する」にチェックを入れています。私はデータベースパッケージを含めません_。私はzipファイルを作成します(厳密な名前のアセンブリがありません)
これが発生する理由を説明している情報をお寄せいただきありがとうございます。そうすれば、問題を解決できるかもしれません。
ビーズラー
ビルド サーバーで、私が懸念していたアセンブリを解放し、展開パッケージを必要な状態にしました。したがって、展開パッケージには GACed アセンブリが含まれていないように見えますが、これは良いことです。特定の参照アセンブリでこの動作をオーバーライドする方法を知りたいです。
ありがとう、