如何在IIS / Azure中单独部署webconfig更改?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在IIS / Azure中单独部署webconfig更改?相关的知识,希望对你有一定的参考价值。
目前,我已使用TFS为WebAPI项目配置了CICD。到现在为止还挺好。我还为每个环境创建了单独的web.config(web.DEV.config
,web.QA.config
,web.PROD.config
)
VS在TFS中构建
问题
有时我们只需要更改QA环境的配置。在这种情况下,我们必须构建整个项目(仅在更改web.QA.Config
文件之后),这是不需要的,我们只需要将新配置部署到QA。目前,我们正在手动部署Azure App Service Editor / FTP以获取源代码。
无论如何,如果更改配置,仅仅部署配置而不是完整的CICD?
答案
它无法配置为直接实现该功能。但您可以考虑使用一些解决方法。例如:
- 在构建定义中添加一个变量,例如“FullBuild”,其值为“True”。
- 在构建定义的开头添加Powershell脚本任务。 powershell脚本将执行以下操作: 获取构建中的变更集/提交以检查哪些文件已更改。 如果仅更改web.QA.Config,则将“FullBuild”变量更新为“false”。
- 将原始完整构建任务设置为使用“自定义条件”运行:
and(succeeded(), eq(variables['FullBuild'], 'True'))
- 添加一些任务以转换web.config文件,并使用“自定义条件”将文件部署到Azure:
and(succeeded(), eq(variables['FullBuild'], 'False'))
要转换web.config文件,您可以创建客户powershell脚本来执行此操作,或使用一些构建任务,例如:Apply transformations。
另一答案
您无需部署即可直接在Azure中更改Web Apps设置。这将适用于您的情况,因为未来的部署不会覆盖您通过门户配置的任何内容,即,它是一次性过程。
以上是关于如何在IIS / Azure中单独部署webconfig更改?的主要内容,如果未能解决你的问题,请参考以下文章
我们可以在没有 Azure 的情况下在 IIS 中部署 Microsoft bot 应用程序吗?
我们可以在 IIS 中部署 Microsoft bot 应用程序以在没有 Azure 的情况下进行托管吗?