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

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

VS 在 TFS 中构建

http://img1.mukewang.com/61da81630001722906550391.jpg

问题

有时我们只需要更改 QA 环境的配置。在这种情况下,我们必须构建web.QA.Config不需要的整个项目(单独更改文件后),我们只需将新配置部署到 QA 即可。目前,我们正在手动部署到 Azure 应用服务编辑器/FTP 到源代码。

如果更改配置,是否只部署单独的配置而不是完整的 CICD?


慕容森
浏览 237回答 2
2回答

阿晨1998

无法配置为直接实现该功能。但是您可以考虑使用一些解决方法。例如:将变量添加到您的构建定义中,例如“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 脚本来执行此操作或使用一些构建任务,例如:应用转换。

大话西游666

无需部署即可直接在 Azure 中更改 Web 应用设置。这将适用于您的情况,因为未来的部署不会覆盖您通过门户配置的任何内容,即,这是一个一次性的过程。
打开App,查看更多内容
随时随地看视频慕课网APP