1

アップデート:

最近のコメントに答えるために...私は次の情報を見つけましたが、うまくいきませんでした。

  1. コントロールパネルの[プログラムと機能]に移動します。
  2. 「MicrosoftWebDeploy3.0セットアップ」を見つけます
  3. プログラムを右クリックし、「変更」をクリックします。
  4. 3つのオプションから、[インストールメニューの変更、修復、または削除]から[変更]を選択します。
  5. IIS展開ハンドラーの下には、通常はオフになっている[管理者以外の展開用に構成する]オプションがあります。このオプションをチェックして、[次へ]をクリックします。
  6. インストールを終了します。

これにより、管理委任UIの下に追加のオプションが設定され、管理者以外のアカウントをアプリケーションにデプロイできるようになります。あるサーバーでは機能しますが、別のサーバーでは機能しません。これを機能させるために時間を使い果たしました。私の他の解決策はこれを行うことでした:

  • ビルドは専任のチームによって管理されます。TFSのすべてのプロジェクトで「ビルド定義の表示/編集」を制限しました。
  • ビルドアカウントはADMINSのままにします。
  • パスワードは定義に残しました。

どちらのソリューションも機能しますが、私は前者の方が好きです。ある日、2つのサーバーの違いを理解し、別の更新を投稿します。

参照:http ://workinghardinit.wordpress.com/2011/07/18/wdeployconfigwriter-account-issues-trouble-shooting-web-deploy-2-0-with-lessons-learned/


トラブルシューティングを3日間続けます-私は公式に困惑しています。

TFSビルドログからのエラーの詳細

MSDeployPublish:

Web配置を開始するアプリケーション/パッケージをhttps://XX.XX.XX.XX:8172 / msdeploy.axd?site = Default%20Web%20Site ..に公開します。

source:package(D:\ Builds \ Sources \ ProjectA.zip)からDestination:auto()へのWeb展開タスクを開始します。

setAcl(デフォルトのWebサイト/テスト)を更新しています。

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets(3847,5):エラー:Web展開タスクが失敗しました。((2/19/20139: 58:23 AM)リモートコンピューターで要求が処理されたときにエラーが発生しました。)[D:\ Builds \ Sources \ ProjectA.csproj]

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets(3847,5):エラー:[D:\ Builds \ Sources \ ProjectA.csproj]

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets(3847,5):エラー:(2/19/2013 9:58:23 AM)要求がリモートコンピューターで処理されたときにエラーが発生しました。[D:\ Builds \ Sources \ ProjectA.csproj]

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets(3847,5):エラー:サーバーで要求の処理中に問題が発生しました。詳細については、サーバー管理者に問い合わせてください。[D:\ Builds \ Sources \ ProjectAcsproj]

公開はデプロイに失敗しました。

プロジェクト"D:\ Builds \ Sources \ ProjectA.csproj"(デフォルトのターゲット)の構築が完了しました-失敗しました。プロジェクト"D:\ Builds \ Sources \ ProjectWeb.csproj"(デフォルトのターゲット)の構築が完了しました-失敗しました。

ビルドに失敗しました。

私には3つの環境があります。開発、QAおよび生産

開発とQAには非本番ビルドアカウントがあります。ProductionにはProductionBuildアカウントがあります。

デプロイメントは、実稼働サーバーの1つと、すべての開発サーバーおよびQAサーバーで機能します。しかし、他ではありません。これらは、さまざまなWebアプリケーションをホストする個別のサーバーです。負荷分散されていないか、Webファームの一部ではありません。

これは権限の問題だと思いますが、この問題はサーバーの1つにのみ存在します。この展開を機能させるには、管理者としてボックスに本番環境のtfsビルドアカウントを設定する必要があります。または、Webアプリケーションフォルダのすべてのユーザーにフルコントロールを付与します。どちらも好ましくありません。言うまでもなく、他のどのサーバーもそのようにセットアップされていません。

展開中に、展開の最初のステップでACL権限が間違っていることに気付きました。Webアプリケーションフォルダーは、ビルドアカウントに特別なアクセス許可を付与しています。他の環境では、その権限が設定されることはありません。なぜこれが起こっているのか私にはわかりません。おそらくそれはワークフローの即時のステップですが、私にはわかりません。

すべての機能委任オプションは、このWebサイトに従って設定されています。私はそれを数回実装したので、それらが正しいことを知っています。リンクで指定されていないのは、機能ルールでビルドアカウントを許可することです。そのすべてがアプリケーションからトップレベルのサイトに設定されます。

TFSのQAビルドを本番環境にデプロイするように切り替えると、同じ問題で失敗します。したがって、これはビルド定義ではありません。管理者または全員に権限を付与すると、プロジェクトや構成ではないように機能します。

MSBuildの引数

/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True /p:MSDeployPublishMethod=WMSVC
/p:MSDeployServiceUrl=https://XX.XX.XX.XX:8172/msdeploy.axd 
/p:DeployIisAppPath="Default Web Site/Test"
/p:UserName=DOMAIN\ProdBuildAccount /p:Password=*******
/p:AllowUntrustedCertificate=True 

ビルドが正常にキューに入れられた後、展開はチームエクスプローラーから開始されます。

また、package.zipを取得してIISに手動でインポートすると、ACLは正しく、完全に展開されます。

4

0 に答える 0