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