【发布时间】:2017-07-09 09:37:37
【问题描述】:
我有一个相当标准的 ASP.NET Core 应用程序设置 - GitHub 上的源代码控制与托管在 Azure 上的实时应用程序,主分支更改触发 VSTS 上的 CI 构建。 数据库连接字符串在 appsettings.json 中,通常指向 localdb 实例。为了部署到 Azure,我希望它指向一个 Azure SQL DB(我在第一次发布时忽略了设置)。 应用程序服务本身在 Azure 上设置为没有 DB 的应用程序服务 - 换句话说,我不应该在醒来后这样做。但是,应用服务和数据库都链接到同一个资源组。
我面临的问题是,每当我通过 VSTS 触发 CI 构建时,构建工作但版本在尝试用 CI 构建变量中定义的连接字符串替换连接字符串时失败。
2017-07-09T08:47:02.7205410Z ##[section]开始:部署 Azure 应用服务 2017-07-09T08:47:02.7415413Z ======================================== ======================================= 2017-07-09T08:47:02.7415413Z 任务:Azure 应用服务部署 2017-07-09T08:47:02.7415413Z 描述:使用 Web 部署/Kudu REST API 更新 Azure 应用服务 2017-07-09T08:47:02.7415413Z 版本:3.3.9 2017-07-09T08:47:02.7415413Z 作者:微软公司 2017-07-09T08:47:02.7415413Z 帮助: 2017-07-09T08:47:02.7415413Z ======================================== ======================================= 2017-07-09T08:47:06.5658468Z 获得 Azure 应用服务的连接详细信息:'BlackscarsSheetsSwtor' 2017-07-09T08:47:07.6978989Z ##[错误]错误:没有与特定模式匹配的 JSON 文件:appsettings,json。
我尝试了here 的解决方案,但遇到完全相同的错误,但日志显示的是 **/appsettings.json 而不是 appsettings.json。
这是 appsettings.json 文件
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=Telvee32.BlackscarsSheetsSwtor.Db;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
}
}
这是我第一次使用构建和发布定义,所以我完全有可能承认了一些东西,但实际的定义是由 Azure 自动创建的,并且在我开始这样做之前工作正常,鉴于应用程序依赖于数据库,肯定需要正常工作。
【问题讨论】:
标签: c# asp.net-core azure-pipelines azure-pipelines-release-pipeline