【问题标题】:Azure Devops Release for application that remains the same except for appsettings.jsonAzure Devops Release 适用于除 appsettings.json 外保持不变的应用程序
【发布时间】:2021-01-08 22:21:54
【问题描述】:

我正在创建 Azure devops 构建管道和发布。此版本有一个暂存环境,该环境利用具有 3 个服务器的部署组,在生产中它可以有 50 多个服务器。除 appsettings 文件外,所有服务器上的应用程序都相同。 appsettings 将包含数据库连接和位置/服务器特定变量。我已经研究了在每台服务器发布时操作此文件的方法,我所遇到的只是当您只需将开发中的值切换到暂存到产品发布时,在环境的发布中进行变量替换的方法。有没有一种好方法来操作部署组中的每个服务器而不是 50 多个阶段/标签,或者有​​更好的方法来设置我的管道和发布?

【问题讨论】:

    标签: json azure-devops azure-pipelines devops


    【解决方案1】:

    是否有一种好方法可以在部署中按服务器操作此文件 分组而不是 50 多个阶段/标签

    恐怕据我所知,我们还不支持这种可能。但是如果你在 Azure 网站上托管你的应用程序,azure 有一个new feature 可以实现这一目标。

    但如果您将应用托管到自己的服务器上,恐怕这种情况下更好的部署方法是构建一次,部署多个。也就是说,在 Build pipeline 中构建项目,并在特定阶段配置相应的 appsettings.json 文件。

    为了提高版本的可维护性和简化配置结构,可以使用task groupvariable group。 (请在版本中继续使用变量替换

    封装一系列可重用任务到任务组中,然后这个模板将用于每个部署组作业。 注意,您可以将可重用的参数作为模板的一部分。只需抽象应用程序设置信息并将它们作为变量存储到相应的变量组中。

    此时,每当添加新服务器时,只需将相应的应用设置参数保存到创建的变量组中即可。在发布管道中,您只需添加任务组,并将之前创建的变量组链接到指定阶段。执行发布管道,然后一切都会按预期进行。

    后期维护时,只需修改部署任务任务的基本配置一次,即可应用于所有阶段。当需要修改对应​​的服务器app设置配置时,可以打开对应的变量组进行修改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-30
      • 1970-01-01
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      • 2020-06-22
      • 2020-04-30
      相关资源
      最近更新 更多