Azure应用服务部署任务并不总是将“appsettings.json”复制到应用服务

to94eoyn  于 2023-02-25  发布在  其他
关注(0)|答案(1)|浏览(160)

在Azure应用服务部署任务中,我将JSON variable substitution指定为**/appsettings.json,并且我可以在日志中看到已进行替换。包含替代变量值的appsettings.json通常不会被复制,因为它没有被视为已更改。这会导致部署原始模板化appsettings.json文件,并 * 导致 * 应用服务无法正确启动。奇怪的是,它似乎最经常发生在自动触发发布的时候。当手动运行时,它似乎复制了文件。
如果能够简单地对模板化的appsettings.json文件执行替换,然后将其复制到应用程序服务,那就太好了,但我一直无法找到任何方法来做到这一点......也许这是不可能的。
如果有另一种方法可以更容易地将特定于环境的appsettings.json文件部署到应用程序服务,那就太好了。
与此同时,如果替换的文件 * 总是 * 部署,那么它将是第一名。
如果有任何区别,则为任务提供了-useCheckSum参数。

odopli94

odopli941#

确保已取消选中Remove files at destination选项。

如果在部署期间选中此选项,则现有文件将被删除。
如果有任何区别,则为任务提供了一个-useCheckSum参数。
如果启用了usechecksum选项,则仅当存在任何更改时才部署文件。
如果每次都要部署appsettings.json文件,则禁用usechecksum选项。
感谢@Alex AIT的评论。
“从包中运行”部署不会受到这些问题的影响。这对你来说是一个选择吗?
是的,通过使用Run from package选项,我们可以避免此类问题。所有文件都打包在一个zip文件夹中,部署后即可使用。

如果有另一种方法可以更容易地将特定于环境的appsettings.json文件部署到应用程序服务,那就太好了。
我们可以选择将App Settings存储在应用配置中。请使用Azure管道参考Push settingsPull settings

相关问题