我正在使用ASP.NET Core & Angular中的ASP.NET Boilerplate启动模板,并且禁用了多租户:1个数据库,一个租户(默认)。
我还使用 TeamCity 来构建/测试/发布启动模板中可用的项目,因此我最终获得了3个NuGet软件包,这些软件包已被推送到Octopus Deploy:
我想使用2个应用程序服务(主机和UI)和1个Azure SQL数据库(主机),以以下方式使用 Octopus Deploy(自行托管,v2018.9.0)将此设置部署到Azure :
如果所有这些都是本地的,我将没有任何问题。我不知道这是Azure的一部分,因为我不知道如何通过Octopus Deploy在Azure上执行这些操作:
我尝试使用Octopus Deploy“部署Azure Web应用程序”,但是此步骤不会让我也部署migrator程序包并在部署API程序包之前运行它。还是呢?我不知道。
我尝试使用“运行Azure PowerShell脚本”,但这是在Octopus Deploy服务器上执行的,而不是在Azure App Service环境上执行的吗?
也许还有其他更好的方法将此设置部署到Azure?
答案 0 :(得分:0)
您可以使用App服务插槽来换入/换出逻辑应用程序的版本。交换时,会发生预热,并且不会丢失流量。
因此基本上将其部署到备用插槽,然后将生产与备用插槽交换。
对于数据库,我认为您的策略无效。您要做出一些假设,但这并不会使您的生活变得轻松。我会考虑单独处理数据库部署而没有重大更改,但这是我的看法。
我不熟悉Octopus或TeamCity,因此我不会详细介绍这些内容。