我们的应用程序目前是托管在 Azure 上的 ASP.NET Core 应用程序,我们的代码和管道托管在 Azure Dev Ops 上。该应用程序非常简单,只有一个 Web 应用程序和 Azure SQL 数据库。
我们目前有大量租户,我们希望在每次发布后部署到这些租户。
我们目前有 3 个构建管道(由 dev、test 和 master 分支触发): - 开发 - 测试 - 生产
我目前迷失的是如何放置各个租户,我们当前的路径是为每个租户创建一个“发布”管道。这是最好的方法吗?我们应该使用阶段吗?
最佳答案
我有点困惑为什么你有单独的构建管道用于dev
、test
和生产
。
您可能会考虑将所有管道(构建和发布)合并到一个 YAML pipeline 中。 。在这种方法下,您将有 1 个构建阶段,您可以将其捕获为 YAML stage template并利用expressions/conditions来考虑不同环境之间的差异。或者,如果环境之间的构建过程差异很大,您可以为每个环境设置单独的构建阶段模板,并根据触发构建的分支包含适当的模板。
对于版本,您可以将每个捕获为 YAML 模板,然后使用新的 deployment job 将它们包含在管道的末尾。已添加到 YAML 架构的元素。
希望这能让您更接近解决方案,或者至少让您思考一些事情。
关于azure - 为数百个 SaaS 租户发布管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58719575/