我有一个WebAPI项目,并且正在使用Azure CI / CD管道将其以天蓝色部署。该项目包含单元测试和集成测试。对于集成测试,它需要访问数据库。但是,由于我不想将连接字符串签入源代码管理,因此构建管道将始终失败。
所以,问题是存在哪些解决方案/功能或变通办法可以帮助我完成此方案?
答案 0 :(得分:1)
您可以使用令牌替换任务来为配置文件提供连接字符串。为此,您需要安装并添加token replace task
,并为此配置:
您需要有这样的appsettings.json
{
"ConnectionStrings": {
"BloggingDatabase": "#{ConnectionString}#"
},
}
在您的管道中,请变量ConnectionString
:
您还可以将变量组与Azure KeyVault一起使用。对于该方法,请检查this blog post。
答案 1 :(得分:0)
Azure Key Vault是安全存储数据库服务器凭据等机密信息的好地方;这使他们脱离了源代码控制。
一般方法是: