Webサイトパッケージを作成して配置するJenkinsジョブがあります。msbuildがコマンドラインと異なる動作をするJenkins
Jenkinsからジョブを実行すると、プロジェクトごとにパッケージが作成され、展開パッケージにはwebjobsが含まれません。しかし、コマンドラインからの同じmsbuildコマンドは、その中にwebjobsを含むより大きなパッケージファイルを作成します。
同じユーザーアカウントのJenkinsサービスを使用してmsbuildコマンドラインを実行しようとしましたが、同様に動作します。私は両方のMSBuildの出力ログを比較すると
が、私はいくつかの相違点は、コマンドラインMSBuildのログが含まれる主な違いであることを得る:
Target "DiscoverWebJobs" in file "E:\Jenkins\jobs\Queue - Publish\workspace\tvdQueue\packages\Microsoft.Web.WebJobs.Publish.1.0.12\tools\webjobs.wap.targets" from project "E:\Jenkins\jobs\Queue - Publish\workspace\tvdQueue\WebAPI\WebAPI.csproj" (target "Build" depends on it):
Task "Message"
WebJobs: reading [E:\Jenkins\jobs\Publish job\workspace\Project\WebAPI\Properties\webjobs-list.json]
Done executing task "Message".
Using "ReadWebJobsConfigFile" task from assembly "E:\Jenkins\jobs\Publish job\workspace\Project\packages\Microsoft.Web.WebJobs.Publish.1.0.12\tools\Microsoft.Web.WebJobs.Publish.Tasks.dll".
Task "ReadWebJobsConfigFile"
Done executing task "ReadWebJobsConfigFile".
Task "Message"
WebJobs: WebJobs found: [../blah1.csproj;../blah2.csproj;../blah3.csproj;]
Done executing task "Message".
Done building target "DiscoverWebJobs" in project "WebAPI.csproj"
私はジェンキンスコマンドラインでターゲット「DiscoverWebJobs」を追加しようとしたが、それは見つけることができないと言います...私は、PowerShellを使用して、別のアカウントから実行する、異なるオプションを試して、時間を費やしました...しかし、何も、私は何かばかだと確信しています。
zipパッケージファイルにwebjobsファイルが含まれていない場合、私が配布を行うときにwebjobsは更新されません。私は各zipファイルを別々に配備することができますが、いくつかのWebジョブがあります。誰かが新しいプロジェクトを組み込んだ場合、このプロジェクトの継続的な統合設定を無意味にするために配備されません。
と何が違うの効果を持っているでしょう、なぜ( '/ Vを渡しわからない:とD ' jenkinsからのmsbuildコマンド)、ログにはなぜそのターゲットがスキップされたのかの概要が表示されます。 「WebJobs」を含む行を探します。 *ターゲットDiscoverWebJobsがスキップしたため...* – stijn
Jenkinsとコマンドラインからのmsbuildログの両方を比較しましたが、ターゲットをスキップすることはありません。ターゲットはコマンドラインからのみ実行されますが、msbuildがJenkinsジョブから実行されたときには実行されません。 –