如何在IIS / Azure中单独部署webconfig更改?

问题描述 投票:0回答:2

目前,我已使用TFS为WebAPI项目配置了CICD。到现在为止还挺好。我还为每个环境创建了单独的web.config(web.DEV.configweb.QA.configweb.PROD.config

VS在TFS中构建

enter image description here

问题

有时我们只需要更改QA环境的配置。在这种情况下,我们必须构建整个项目(仅在更改web.QA.Config文件之后),这是不需要的,我们只需要将新配置部署到QA。目前,我们正在手动部署Azure App Service Editor / FTP以获取源代码。

无论如何,如果更改配置,仅仅部署配置而不是完整的CICD?

c# asp.net-mvc azure tfs web-config
2个回答
1
投票

它无法配置为直接实现该功能。但您可以考虑使用一些解决方法。例如:

  1. 在构建定义中添加一个变量,例如“FullBuild”,其值为“True”。
  2. 在构建定义的开头添加Powershell脚本任务。 powershell脚本将执行以下操作: 获取构建中的变更集/提交以检查哪些文件已更改。 如果仅更改web.QA.Config,则将“FullBuild”变量更新为“false”。
  3. 将原始完整构建任务设置为使用“自定义条件”运行:and(succeeded(), eq(variables['FullBuild'], 'True'))
  4. 添加一些任务以转换web.config文件,并使用“自定义条件”将文件部署到Azure:and(succeeded(), eq(variables['FullBuild'], 'False'))

要转换web.config文件,您可以创建客户powershell脚本来执行此操作,或使用一些构建任务,例如:Apply transformations


0
投票

您无需部署即可直接在Azure中更改Web Apps设置。这将适用于您的情况,因为未来的部署不会覆盖您通过门户配置的任何内容,即,它是一次性过程。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.