我有一个 API,可以使用 Azure 发布管道部署到选定的位置。
其中一些是通过管道部署的天蓝色环境(实时、预生产、测试等),以及我们根据环境通过 Azure 门户在应用服务本身上更改的 AppSetting 配置。
其他版本是为自行托管我们软件的客户提供的本地版本。这些还可以使用 IIS Web App 部署任务通过发布管道进行部署,并使用 IIS 托管在其服务器上。
一切正常,第一次部署后,我们可以跳上这些服务器并更改
appsettings.json
文件以包含该环境的正确信息,并且效果良好。
问题是当我们通过管道部署后续版本时。理想情况下,我们只需按一下按钮即可免提释放,但由于管道总是从源分支上传
appsettings.json
的副本并替换服务器上配置的副本,因此我们必须登录到每个分支服务器并在发布前制作appsettings.json
的副本,然后在发布后替换它。
有没有一种方法可以配置 IIS Web 应用程序部署任务以仅排除或跳过 appsettings.json 文件的部署? 我可以在第一次运行后设置该文件,或者如果我们添加新内容到它,但我希望每个其他版本都可以发生,而不必每次都复制/粘贴文件。
不同环境下不同设置的一般做法是有对应的appSettings.json文件,如
等等
如果您还想要自定义设置,您可以拥有另一个从不部署的文件,而仅在服务器上编辑,这将覆盖您的其他设置,可能称为 appSettings.Override.json - 或其他。