2016-07-31 11 views
5

Wenn ich versuche, meine Service-Fabric-Anwendung zu einem Azure Cluster ich die folgende Fehlermeldung erhalten, zu veröffentlichen:Betrieb timed-Service Fabric Anwendung Azure Veröffentlichung aus

3>Copy-ServiceFabricApplicationPackage : Operation timed out. 
3>At C:\Program Files\Microsoft SDKs\Service 
3>Fabric\Tools\PSModule\ServiceFabricSDK\Publish-NewServiceFabricApplication.ps1:230 char:9 
3>+   Copy-ServiceFabricApplicationPackage -ApplicationPackagePath ... 
3>+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
3> + CategoryInfo   : OperationTimeout: (:) [Copy-ServiceFabricApplicationPackage], TimeoutException 
3> + FullyQualifiedErrorId : CopyApplicationPackageErrorId,Microsoft.ServiceFabric.Powershell.CopyApplicationPackage 
3> 
3>Finished executing script 'Deploy-FabricApplication.ps1'. 
3>Time elapsed: 00:12:45.2589165 

Apperently gibt es eine hartcodierte 10 Minuten Timeout in das Veröffentlichungsskript, wie Sie es hier lesen können: https://github.com/Azure/service-fabric-issues/issues/10

Diese Zeitüberschreitung wird in einer zukünftigen Veröffentlichung entfernt, aber in der Zwischenzeit, was sind meine Optionen? Gibt es eine Möglichkeit, meinen Bewerbungsservice per Service zu veröffentlichen?

Jeder Vorschlag ist willkommen!

Antwort

4

Ich habe das gelöst, indem ich eine virtuelle Maschine in azurblau laufen lasse. Ich habe Visual Studio 2015 Community und das Service Fabric SDK installiert.

Ich verwende dann Visual Studio Online, um meinen Code zu hosten. Ich baue und teste lokal, und wenn ich glücklich bin, begib mich zu Visual Studio online, dann RDP auf meine Build-Maschine und dann ziehen, bauen und bereitstellen von dort.

Ich bin noch einen Schritt weiter gegangen, indem ich Powershell-Skripte erstellt und implementiert habe, damit ich Visual Studio nicht ausführen muss.

+0

Ich habe es an die Arbeit! Vielen Dank –

1

Dieses Problem wurde in Version 2.5.216 des Service Fabric SDK behoben.

Im Profilschema veröffentlichen, können Sie jetzt:

  • das Paket komprimieren Transfer zu beschleunigen
  • Stellen Sie die Timeout-Zeit auf einen Wert größer als 10 Minuten

Fügen Sie den folgenden Linie zu der Datei PublishProfiles\Cloud.xml, um die Komprimierung zu aktivieren und das Zeitlimit von 10 Minuten auf 60 Minuten zu ändern:

<CopyPackageParameters CopyPackageTimeoutSec="3600" CompressPackage="true" /> 
0

Ich folgte einem ähnlichen Ansatz zu Andrew Shepherd Vorschlag. Bearbeitet der Powershell-Bereitstellungsdatei in <MyServiceFabricApp>\Scripts\Deploy-FabricApplication.ps1 befindet und verändert die $ CopyPackageTimeoutSec Variable 3600. ist ein Code-Snippet unten dargestellt:

Param 
(
.... 

[int] 
$CopyPackageTimeoutSec = 3600 
) 
...