TeamCity と MSBuild を使用して継続的インテグレーション ビルドをセットアップしました。主に IIS7AppPool タスクに MSBuild Extension Pack を使用しています。私の目標は、ビルド スクリプトが展開手順を実行する前に IIS アプリ プールを停止し、その後アプリ プールを開始することです。IIS アプリ プールは、ビルド エージェントとは別のサーバーにあります。
次の MS Build コードを使用して IIS を停止しました。
<MSBuild.ExtensionPack.Web.Iis7AppPool TaskAction="Stop" MachineName="$(DeploymentServerName)" Name="$(WebAppPoolName)" Username="$(DeploymentServerUsername)" UserPassword="$(DeploymentServerUserPassword)" />
Web サーバーにローカル管理者ユーザー アカウントを設定し、上記のユーザー名とパスワードを $(DeploymentServerUsername) および $(DeploymentServerPassword) として使用しました。
私が受け取っているエラーは次のとおりです。
[MSBuild.ExtensionPack.Web.Iis7AppPool] E:\TeamCity\BuildAgent\work\1a1dc058c29f0f12\BuildAndDeployment\Build_DevCI.proj(153, 5): UnauthorizedAccessException: CLSID {2B72133B-3F5B-4602- のリモート コンポーネントの COM クラス ファクトリを取得していますマシン DEPLOYMENTSERVERMACHINENAME からの 8952-803546CE3344} は、次のエラーが原因で失敗しました: 80070005 DEPLOYMENTSERVERMACHINENAME。
ネットワーク担当者に 2 台のマシン間のファイアウォールをすべて停止するように依頼しましたが、それでも同じエラーが発生します。
誰かが私の構文に問題があることを確認したり、これを機能させる方法についてアドバイスを提供したりできますか?
ローカル マシンで IIS アプリ プールを停止するタスクを取得できるので、構文は正しいはずです。
この投稿を見ましたが、同じ問題ではないと思います: