使用现有Azure SQL Server的Web App + SQL数据库的ARM模板

时间:2016-04-05 07:12:36

标签: azure continuous-deployment paas azure-resource-manager arm-template

我们正在使用 Visual Studio Team Services发布功能,我正在构建完全自动化的CI / CD管道。

我使用VS模板创建了一个 Azure资源管理器模板,该模板创建了典型的 SaaS 工件,即Web App + SQL数据库。

我创建了三个标准 VSTS 发布环境dev,staging和prod。现在,每个环境都使用 ARM 模板在azure中创建隔离的产品环境。

Release Environnment ( e.g. dev | staging | prod )
 ARM Template 
  - Hosting Plan
  - SqlServer
    - Database
  - Website
  - AppInsights

由于每个产品环境/ ARM模板也创建了一个Azure SqlServer,因此在2个 VSTS 项目之后,我已经达到了每个Azure帐户6个Azure SQL Server限制。

在按帐户达到六个Azure SQL Server的限制后,我觉得通过为每个VSTS版本环境创建Azure SQL Server会走错路。

如何使用 VSTS ARM 模板部署这种简单的Azure PaaS / SaaS应用程序,而不会让自己陷入极限?

欣赏

2 个答案:

答案 0 :(得分:1)

如果您使用的是MSDN订阅,则应该有此类限制。

但是在企业协议/生产订阅中,您应该没有任何限制,或者只是在几小时内确定应该支持的支持标记。

答案 1 :(得分:1)

跟进Aravind的说法,如果您只想为dev / staging / prod使用不同的服务器,则可以在模板部署中将数据库部署到这些服务器而无需创建SQL Server。您只需在db的name属性中引用服务器,如下所示:

  "resources": [
{
  "name": "[concat(parameters('sqlSserverName'),'/',parameters('dbName'))]",
  "type": "Microsoft.Sql/servers/databases",
...

虽然我很漂亮,服务器需要与数据库位于同一个资源组中,所以如果你有超过3个rgs(例如dev / staging / prod),那么你可能需要更改配额。 / p>