2016-08-23 22 views
0

私はVisual Studio 2015で.NET Azureソリューションを使用しています。このアプリケーションでは2つのワーカーロールが使用されています。チームサービスでビルドが失敗する

機能の一部として、ビルドプロセスのいくつかの時点で、いくつかのdllがクラウドプロジェクトにコピーされ、結果として最終結果になります。それは私が「ServiceDefinition.csdef」に次のように追加した動作させるために

:で

-- Pre-build 
IF NOT EXIST $(TargetDir)ClientCustSomCode mkdir $(TargetDir)ClientCustomCode 

-- Post-build 
IF NOT EXIST $(TargetDir)ClientCustomCode mkdir $(TargetDir)ClientCustomCode 
copy $(ProjectDir)ClientCustomCode\*.dll $(TargetDir)ClientCustomCode 
copy $(ProjectDir)ClientCustomCode\*.pdb $(TargetDir)ClientCustomCode 

:私は、ビルドイベントに次のように追加のクラウドプロジェクトで

<WorkerRole name="SomeProject.Foreman" vmsize="Small"> 
    <Contents> 
    <Content destination="ClientCustomCode"> 
     <SourceDirectory path="ClientCustomCode" /> 
    </Content> 
    </Contents> 
    <ConfigurationSettings> 
    <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" /> 
    <Setting name="SomeProjectDocumentDBURI" /> 
    <Setting name="SomeProjectAuthorizationKey" /> 
    <Setting name="LogLevel" /> 
    <Setting name="RequestQueue" /> 
    <Setting name="RequestErrorQueue" /> 
    <Setting name="NumberOfConcurrentRequests" /> 
    <Setting name="NumberOfRequestsToReadFromAzureQueue" /> 
    <Setting name="StorageConnectionString" /> 
    <Setting name="SomeProjectPnrHistory" /> 
    <Setting name="SomeProjectClientRepository" /> 
    <Setting name="SomeProjectMessagesInProcess" /> 
    </ConfigurationSettings> 
    <LocalResources> 
    <LocalStorage name="InstallLogs" sizeInMB="5" cleanOnRoleRecycle="false" /> 
    </LocalResources> 
    <Startup> 
    <Task commandLine="install.cmd" executionContext="elevated" taskType="simple"> 
     <Environment> 
     <Variable name="PathToInstallLogs"> 
      <RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='InstallLogs']/@path" /> 
     </Variable> 
     </Environment> 
    </Task> 
    </Startup> 
</WorkerRole> 

<WorkerRole name="SomeProject.Engine" vmsize="Small"> 
    <Contents> 
    <Content destination="ClientCustomCode"> 
     <SourceDirectory path="ClientCustomCode" /> 
    </Content> 
    </Contents> 
    <ConfigurationSettings> 
    <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" /> 
    <Setting name="RequestQueue" /> 
    <Setting name="RequestErrorQueue" /> 
    <Setting name="SomeProjectDocumentDBURI" /> 
    <Setting name="SomeProjectAuthorizationKey" /> 
    <Setting name="LogLevel" /> 
    <Setting name="NumberOfConcurrentRequests" /> 
    <Setting name="NumberOfRequestsToReadFromAzureQueue" /> 
    <Setting name="StorageConnectionString" /> 
    <Setting name="SomeProjectPnrHistory" /> 
    <Setting name="SomeProjectClientRepository" /> 
    <Setting name="SomeProjectMessagesInProcess" /> 
    </ConfigurationSettings> 
    <LocalResources> 
    <LocalStorage name="InstallLogs" sizeInMB="5" cleanOnRoleRecycle="false" /> 
    </LocalResources> 
    <Startup> 
    <Task commandLine="install.cmd" executionContext="elevated" taskType="simple"> 
     <Environment> 
     <Variable name="PathToInstallLogs"> 
      <RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='InstallLogs']/@path" /> 
     </Variable> 
     </Environment> 
    </Task> 
    </Startup> 
</WorkerRole> 

コピーされたdllが実際にビルドされるプロジェクトファイル:

copy $(TargetName).dll $(SolutionDir)SomeProject\SomeProject.Cloud\ClientCustomCode 
copy $(TargetName).pdb $(SolutionDir)SomeProject\SomeProject.Cloud\ClientCustomCode 

ここでは、ローカルでこれは問題なくビルドされています。

2016-08-23T08:37:40.3013767Z C:\a\1\s\SomeStuff\SomeProject\SomeProject.Cloud\ServiceDefinition.csdef : error CloudServices089: Cannot find the source directory 'C:\a\1\s\SomeStuff\SomeProject\SomeProject.Cloud\ClientCustomCode' in role SomeProject.Foreman. [C:\a\1\s\SomeStuff\SomeProject\SomeProject.Cloud\SomeProject.Cloud.ccproj] 
2016-08-23T08:37:40.3013767Z C:\a\1\s\SomeStuff\SomeProject\SomeProject.Cloud\ServiceDefinition.csdef : error CloudServices089: Cannot find the source directory 'C:\a\1\s\SomeStuff\SomeProject\SomeProject.Cloud\ClientCustomCode' in role SomeProject.Engine. [C:\a\1\s\SomeStuff\SomeProject\SomeProject.Cloud\SomeProject.Cloud.ccproj] 

ビルドログファイル:Download ビルドは突然、次のエラーで失敗し始めた最近まで、それはまた、チームサービス上に構築さが、青のうち、いずれかの本当の理由もなく(何も変更されませんでした)誰もが考えを持っているだろうか?

+0

あなたは全体のビルドログを共有することはできますか? –

+0

私の質問に追加します。 :-) – Fysicus

+0

ビルドログ – Fysicus

答えて

0

error CloudServices089: Cannot find the source directory 'C:\a\1\s\SomeStuff\SomeProject\SomeProject.Cloud\ClientCustomCode' in role SomeProject.Foreman. [C:\a\1\s\SomeStuff\SomeProject\SomeProject.Cloud\SomeProject.Cloud.ccproj]

install.cmdは、ディレクトリを作成し、アセンブリを新しいディレクトリにコピーするために使用されます。エラーメッセージから、私はinstall.cmdが実行されないと思います。たとえば、install.cmdがワーカーロールにデプロイされないことがあります。 enter image description here ワーカーロールインスタンスのディレクトリE:\approotにinstall.cmdがあります。

常に次のように、それが動作するかどうかを確認し、その後、あなたの溶液中でinstall.cmdを見つけることを試みるコピーとして出力ディレクトリにコピー]を設定してください:

enter image description here

+0

が含まれています。デプロイメントはまだ機能していますが、これは失敗したTeam Servicesの自動ビルドのみです。 – Fysicus

関連する問題