我目前正在多个环境中进行.net核心Web应用程序部署 - 测试,UAT,PROD等。
根据文档说,我们应该有特定于环境的appsettings.{environment}.json
文件,因此当我们将应用程序部署到特定环境时,将使用相应的文件。
我相信我们使用 IIS - > 配置编辑器设置ASPNETCORE_ENVIRONMENT
变量。
但是,我无法找到,如何在不进入服务器的情况下通过部署计划来实现。
目前我正在使用Octopus部署工具。
有什么想法吗?
答案 0 :(得分:0)
我认为您需要在 Octopus Deploy (在范围变量中)存储特定于环境的设置,而不是在你的.json文件中 - 或者甚至应该 - 受到源头控制。
说你的appsettings.json
看起来像这样
{
"weatherApiUrl": "dev.weather.com",
"weatherApiKey": "DEV1234567",
"tempImageFolder": "C:\temp\img"
}
在项目变量中,指定 weatherApiUrl 变量,并将其设置为dev.weather.com
范围为开发,test.weather.com
范围为测试等。
在您的流程中,在“部署”步骤中,转到配置功能并启用JSON configuration variables
。现在,部署步骤将有一个名为 JSON配置变量的额外部分,在那里指定配置文件的名称,appsettings.json
,然后离开。
此处提供更多信息:JSON Configuration Variables Feature