我们正在使用 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应用程序,而不会让自己陷入极限?
欣赏
答案 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>