2017-03-07 111 views
0

我已经发布从Visual Studio的API应用到新的资源组,还创建了一个应用程序服务计划,因此进行部署后的资源组包含2项:部署资源组与App服务

  • AppServicePlan1
  • AppService1

现在我想如下这些项目部署到其他资源组:

    资源组中的10
  • 选择“自动脚本”设置
  • 点击“部署”
  • 选择“创建新的”资源组,输入其名称
  • 输入“Serverfarms_AppServicePlan1_name”参数值(新的应用服务计划的名称,例如AppServicePlan2)
  • 输入 'Sites_AppService1_name' 参数值(新的应用程序服务的名称,例如AppService2)
  • 勾选 '同意的条款和条件'
  • 点击 'Puchase'

的过程失败,出现以下错误信息:

主机名AppService1.azurewebsites.net已经分配给另一个Azure的网站:AppService1

我曾尝试不同的事情 - 在部署的应用程序的服务计划,逻辑的应用程序等,从一个资源组到另一个细的作品,但是如上述那样部署的应用程序服务失败

我试图改变的。 hostNames财产在模板文件[[AppService2.azurewebsites.net]]手动 - 我没有得到错误,然后(虽然我不知道,也许别的东西也需要改变,例如属性enabledHostNameshostNameSslStates?)并部署似乎工作,但'部署'应用服务不能使用,因为它只包含1个文件 - hostingstart.html

我错过了什么?

回答

0

我认为你的一切都是正确的 - 正如你在使用生成的自动化脚本时注意到的那样,它会创建与当前存在的属性相同的所有内容。我们尝试参数化正确的值(如Web应用程序名称),但有一些细节可以忽略(如主机名)。改变了所有这些后,听起来就像是要部署它。

然而,“代码”不是自动化脚本的一部分 - 只有基础架构和配置。所以你仍然需要部署你的应用程序使其相同。您可以将应用程序部署归档到JSON模板中(使用webdeploy或github),但由于这需要访问外部工件,因此不会自动完成。

这有帮助吗?

+0

因此,如果不先修改自动脚本(至少要照顾'hostNames'),就不能成功部署应用程序服务?感谢您澄清标准参数显然不足以成功部署。 – 10p

+1

不一定 - 脚本的目的是允许您重新创建相同的资源组......因此,您应该能够采用相同的模板并将其部署到相同的资源组。但是,如果你想要一个“复制”或不同的实例,是的 - 你必须修改参数值,正如你发现的,也取决于资源的其他属性。 –