azure - 部署失败 - vmsize 的 InstanceSize 枚举值无效

标签 azure tfs azure-devops

我们的代码位于 Visual Studio Online 中TFS 存储库, 我们构建并部署到 Azure。我们有一个Build Definition使用托管构建 Controller 和 TfvcContinouslyDeploymentTemplate.12.xaml 构建流程模板,配置为部署到我们的 Windows Azure 部署环境。

一切都工作正常,直到我们将 Azure 云服务 VM 从小型升级到 Standard_D1尺寸。 我们对 ServiceDefinition.csdef 中的 WebRole 进行了适当的更改:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="PriceCalv3CS" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2014-06.2.4">
  <WebRole name="PriceCalv3CS.SPA" vmsize="Standard_D1">
    ...
  </WebRole>
</ServiceDefinition>

如果我们从本地 Visual Studio 2013 发布和部署,一切仍然可以正常工作...但不能从 Visual Studio Online 发布和部署。

VSO 成功编译解决方案,但在尝试部署时抛出此异常:

Exception Message: Invalid enum value 'Standard_D1' cannot be deserialized into type 'Microsoft.TeamFoundation.Deployment.Workflow.AzureManagement.v1_7.InstanceSize'. Ensure that the necessary enum values are present and are marked with EnumMemberAttribute attribute if the type has DataContractAttribute attribute. (type SerializationException)
Exception Stack Trace:    at System.Runtime.Serialization.EnumDataContract.ReadEnumValue(String value, Int32 index, Int32 count)
   at System.Runtime.Serialization.EnumDataContract.ReadEnumValue(XmlReaderDelegator reader)
   at System.Runtime.Serialization.EnumDataContract.ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context)
   ...

VSO 似乎无法处理 Azure 现在支持的新实例大小名称。
我们正在使用Microsoft Azure SDK for .NET (VS 2013) - 2.5.0 , 并尝试升级到最新的 2.5.1,但这对 VSO 没有帮助。

我见过的有关此问题的其他引用文献位于 social.msdn 那里有一个bug opened该问题已结束,没有任何解决方案。

有人拥有 similar error能够通过删除旧版本来解决这个问题, 但这对我不起作用。我尝试创建一个全新的构建定义,但这也没有帮助。

看来我们需要告诉 VSO 尊重这些新的实例大小。但如何呢?

<小时/>

更多:我以为 VSO 正在解析 ServiceDefinition.csdef,并因 vmsize="Standard_D1" 而窒息,但事实并非如此。我将其更改为 vmsize="Small" 甚至 vmsize="broken",错误消息仍然提示“无效的枚举值 'Standard_D1'”。

最佳答案

如果您之前的实例小于 d1,则您的部署所在的数据中心不支持 D1。

如果是这种情况,那么您需要删除当前的部署,包括虚拟机和资源组。然后,当您作为 D1 进行新部署时,您的实例将最终位于正确的数据中心。

关于azure - 部署失败 - vmsize 的 InstanceSize 枚举值无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29710264/

相关文章:

java - 从 Power BI 获取 accessToken,无需 GUI 身份验证

tfs - 将 VS2019 与 TFS2018 vnext 构建系统结合使用,无需服务器端解决方法

azure-devops - 将项目上传到 Azure Devops

node.js - 如何通过 HTTPS 将私有(private) Azure 存储库导入项目?

unit-testing - 从 tfs 构建中排除测试

c++ - 在 TFS 测试阶段运行 C++ 单元测试

python - ServiceBus 重试逻辑

c# - 将 Sharepoint App 2013 部署到 Windows Azure(提供商托管)

c# - CloudBlockBlob.DownloadTextAsync 返回无效文本

tfs - 如何使用 TFS 进行小型本地提交?