如果我没有在Azure门户中停止云服务(经典),则Azure云服务部署将失败

时间:2019-02-01 07:38:46

标签: azure azure-cloud-services azure-worker-roles azureportal

我的Visual Studio中有一个云服务,其中包含具有两个实例的工作人员角色。我已经在vsts中使用CD进行了部署,该CD是从Cloud-CI管道中提取的。

如果我继续在Azure门户中运行云服务,则部署失败。 错误:

  

BadRequest:您的角色实例已经回收了很多次   在更新或升级操作期间。这表明新   服务的版本或您提供的配置设置   配置服务时,将阻止角色实例运行。   确认您的代码没有引发未处理的异常,并且您的   配置设置正确,然后开始另一个更新或   升级操作。

如果我继续在Azure门户中停止云服务,则部署成功。

我找不到导致失败的主要问题,我是否每次部署前都必须停止Azure云服务(经典)?

2 个答案:

答案 0 :(得分:1)

我们遇到了同样的问题,无论如何,最好停止服务并重新启动它,因为可能会发生配置更改。

您可以添加一个新的发布任务来停止该站点,然后再执行所有其他任务。

答案 1 :(得分:0)

我通过修复暂存的cscfg文件解决了我的问题。我已经从托管环境中对所有设置的值进行了硬编码,并在使用BlueSky Service的情况下再次托管在Azure门户上。

由于配置错误,我在azure门户中的角色显示以下问题,并且为解决此问题,我在Azure门户的云服务中诊断出了此问题。

Azure门户中的错误消息

Recovering role... Application startup task "E:\approot\Startup.cmd" is running. [2019-02-01T09:07:42Z] Last exit time: [2019/02/01, 09:06:59.666]. Last exit code: 0. Last role exception: Microsoft.WindowsAzure.Storage.StorageException, Details: Exception: Unable to connect to the remote server at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext) at Microsoft.WindowsAzure.Storage.Table.CloudTable.Create(TableRequestOptions requestOptions, OperationContext operationContext) at Microsoft.WindowsAzure.Storage.Table.CloudTable.CreateIfNotExists(TableRequestOptions requestOptions, OperationContext operationContext) at Ascend.Azure.Extensions.CloudTableClientExtensions.CreateTableAndSchemaIfNotExist(CloudTableClient tableClient, String entitySetName, ITableEntity entity) at BlueSky.Azure.Storage.AzureTableStorageInitializer.InitializeTableStorage() at BlueSky.Azure.KernelModule.Load() at Ninject.KernelBase.Load(IEnumerable`1 m) at BlueSky.Cloud.Worker.NinjectBootstrapper.RegisterServices(StandardKernel kernel) at BlueSky.Cloud.Worker.NinjectBootstrapper.CreateKernel() at System.Lazy`1.CreateValue() at System.Lazy`1.LazyInitValue() at BlueSky.Cloud.Worker.NinjectBootstrapper.get_Kernel() at BlueSky.Cloud.Worker.WorkerRole.OnStart() at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.InitializeRoleInternal(RoleType roleTypeEnum) at Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.<InitializeRole>b__0() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() Inner Exception: Unable to connect to the remote server at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) at System.Net.HttpWebRequest.GetRequestStream() at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext) Inner Exception: No connection could be made because the target machine actively refused it 127.0.0.1:10002 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception) '.