3

いくつかのクラス ライブラリと Web アプリケーション プロジェクトで構成されるソリューションがあります。チームビルドでTFS 2012を使用しています。ソリューションは、ビルド サーバーで正しくコンパイルされます。

現在、MSBuild Arguments を使用してこれを実行しようとしています。

/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=False /p:MSDeployPublishMethod=RemoteAgent /p:MsDeployServiceUrl= https://testWebServer:8172/MsDeploy.axd?site=direct/p:AllowUntrustedCertificate=True /p:DeployIisAppPath="direct" /p:AuthType=NTLM

ソリューションはビルドされますが、デプロイされません。次のエラー メッセージが表示されます。

msdeploy エラー ERROR_DESTINATION_INVALID: Web 配置タスクが失敗しました。( リモート コンピューター ("https") に接続できませんでした。リモート コンピューター名が正しく、そのコンピューターに接続できることを確認してください。詳細については、http: //go.microsoft.com/fwlink/を参照してください。 ?LinkId=221672#ERROR_DESTINATION_INVALID. ) [C:\Builds\1\ProjectName\Solution General Build\Sources\Temp Source\ProjectName\Solution\Project.csproj]

サーバーを指定するために渡す必要がある別の引数はありますか? https をサーバー名にするつもりはありませんでした... https:// を省略して無駄にしようとしましたが、エラーは同じなので、どこかから値を取得しています。

MsDeployServiceUrl の次の値でこれを試しました。

  • https://testWebServer:8172/MsDeploy.axd?site=direct
  • https://testWebServer:8172/MsDeploy.axd
  • "https://testWebServer:8172/MsDeploy.axd?site=direct"
  • https://192.168.X.X:8172/MsDeploy.axd?site=direct
  • "https://192.168.X.X:8172/MsDeploy.axd?site=direct"
  • testWebServer:8172/MsDeploy.axd?site=direct

アップデート

申し分なく、以下は少なくとも接続しています:

  • /p:MsDeployServiceUrl=testWebServer

私はその特定の議論に関する多くの投稿を見てきましたが、ほとんどの場合、それらは単なるホスト名ではなく URL です (ホスト名のように見えるものは、簡潔にするためにそのように書かれていると思いました)。

しかし、私は今、新たな問題に直面しています。Web サーバーでビルド サービス アカウント (ドメイン アカウント) のローカル管理者を作成しましたmsdeploy error ERROR_USER_NOT_ADMINが、セキュリティ ログに監査エラーが記録されています。

解像度

これらは、私が現在使用している MSBuild 引数です。
/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=False /p:MSDeployPublishMethod=WMSvc /p:MsDeployServiceUrl="https://SERVER:8172/MsDeploy.axd" /p:AllowUntrustedCertificate=True /p :DeployIisAppPath="siteName"

現在、ERROR_USER_UNAUTHORIZED が発生しています。委任を正しく設定していないか、作成した IIS マネージャー ユーザーが何らかの形で間違っているようです。とにかく、必要に応じて別の投稿に移動します。

4

2 に答える 2

3

使用しているサーバーと IIS のバージョンは何ですか? IIS 6 はWeb 配置エージェント サービス (MsDepSvc)を使用しますが、IIS 7 は通常、異なる URL を持つWeb 管理サービス (WMSvc)を使用します (さらに、MsDepSvc を実行するには、ターゲット サーバーの管理者である必要があります。

指定してみるか

/P:MSDeployPublishMethod=WMSvc

Troy Hunt のこの記事に基づいて、 Web 管理サービス (WMSvc)

.axd 

URL(指定したもの)、矛盾しているように見えるRemoteAgentパブリッシュメソッドを強制的に使用しようとしています。

と公開方法の完全な違いについては、この記事を参照してください。WMSvcRemoteAgent

于 2013-02-28T19:11:57.583 に答える
1

同様の問題がありました。この問題を解決するために、次の手順を試しました。

  1. ホストされたサーバーであるため、ポート 8172 が開いていることを確認する必要がありました (明らかに)。
  2. 新しいログインを作成し、これを IIS -> Deploy -> Configure -> Configure Web Deploy Publishing でターゲット サーバーに設定します。念のため、引用符の問題を回避するために、パスワードにスペースが含まれていないことを確認しました。
  3. 実際にビルド サーバーから手動でデプロイを実行しています。
  4. 最後に、MSDeployServicerl で IP アドレスを指定します: /p:MsDeployServiceUrl=xxx.xxx.xxx.xxx:8172/msdeploy.axd

どの Web サイト名も私には役に立ちませんでした。どのパラメーターにも引用符がありませんでした。もちろん、パラメーターの 1 つにスペースを誤って残すと、エラーが発生します: MSBUILD : エラー MSB1008: 指定できるプロジェクトは 1 つだけです

于 2013-06-25T13:00:03.983 に答える