当我尝试将Service Fabric应用程序发布到Azure群集时,出现以下错误消息:
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
您可以在此处阅读:https://github.com/Azure/service-fabric-issues/issues/10
此超时将在upcomming版本中删除,但同时我有哪些选择?有没有办法按服务发布我的应用服务?
欢迎任何建议!
答案 0 :(得分:5)
我已经通过在azure中运行虚拟机解决了这个问题。我已经安装了Visual Studio 2015社区和服务结构SDK。
然后我使用Visual Studio Online来托管我的代码。我在本地构建和测试,当我很开心的时候,在线提交visual studio,然后在我的构建机器上进行RDP,然后从那里进行拉取,构建和部署。
我实际上通过创建构建和部署PowerShell脚本更进了一步,所以我不需要运行visual studio。
答案 1 :(得分:1)
此问题已在Service Fabric SDK的2.5.216版中得到解决。
在发布配置文件架构中,您现在可以:
将以下行添加到PublishProfiles\Cloud.xml
文件以启用压缩并将超时从10分钟更改为60分钟:
<CopyPackageParameters CopyPackageTimeoutSec="3600" CompressPackage="true" />
答案 2 :(得分:0)
我对Andrew Shepherd的建议采取了类似的方法。编辑位于<MyServiceFabricApp>\Scripts\Deploy-FabricApplication.ps1
的powershell部署文件,并将$ CopyPackageTimeoutSec变量更改为3600.代码段如下所示:
Param
(
....
[int]
$CopyPackageTimeoutSec = 3600
)
...