Azure DevOps多租户发布阶段

时间:2019-07-17 16:40:36

标签: iis azure-devops azure-pipelines-release-pipeline

我有一个代码库,该代码库已部署到3个虚拟机上的〜30个网站实例中。一旦测试了代码并在其上签字,我便获得了具有部署前批准的手动触发器。

我想知道是否有一种方法可以使与多个网站相关联的阶段(生产)与必须为每个客户(例如prod_client1,prod_client2等)创建一个单独的阶段。

我搜索了这个主题,但找不到任何东西。我可以欣赏部署的粒度,但是这些阶段的冗余性和通用性会令人沮丧。指导或最佳做法将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:0)

  

如果可以通过多个网站进行舞台(生产)   与他们相关联

对于此问题,您可以将多个部署任务添加到阶段的代理作业。根据需要选择特定的部署任务。您还可以尝试将PowerShell任务添加到代理作业,将代码库部署到上的多个网站通过Powershell脚本完成一个阶段。

但是,对于要部署到多个网站的情况,建议进行多阶段部署。Dejulia489的评论中提到了这样做的好处。

答案 1 :(得分:0)

文件转换和变量替换参考

某些任务,例如 Azure App Service Deploy 任务版本 3 及更高版本和 IIS Web App Deploy 任务,允许用户根据指定的环境配置包。

这些任务使用 msdeploy.exe,它支持使用来自 parameters.xml 文件的值覆盖 web.config 文件中的值。但是,文件转换和变量替换并不仅限于 Web 应用程序文件。您可以将这些技术用于任何 XML 或 JSON 文件。

XML Transformation

Stage-specific configurations

更新:

Visual Studio 的 Azure 资源组

  1. 使用 Azure 库模板创建应用程序。

  2. 创建和编辑 Azure 资源管理器部署模板以 提供资源,包括网站、数据库、虚拟机 以及更多使用 JSON 大纲和编辑器。

  3. 创建和编辑 Azure 资源管理器部署模板和 参数文件为不同的环境定制部署, 例如开发、分期和生产。

  4. 创建资源组 并将模板部署到这些中以简化创建 资源。

了解更多信息Azure Resource Group for Visual Studio