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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在IIS / Azure中单独部署webconfig更改?相关的知识,希望对你有一定的参考价值。

目前,我已使用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?

答案

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

  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

另一答案

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

enter image description here

以上是关于如何在IIS / Azure中单独部署webconfig更改?的主要内容,如果未能解决你的问题,请参考以下文章

我们可以在没有 Azure 的情况下在 IIS 中部署 Microsoft bot 应用程序吗?

Azure 发布管道 IIS 部署

我们可以在 IIS 中部署 Microsoft bot 应用程序以在没有 Azure 的情况下进行托管吗?

Windows Azure 虚拟机 - IIS 日志

Windows Azure - 在 Windows Azure IIS 存储中提供未知 (mp4) MIME 类型

Azure DevOp 将网站部署在一个主网站下