如何将构建代理连接到PostgreSQL数据库

时间:2020-05-06 05:48:10

标签: azure-devops

我对asp.net核心应用程序的集成测试需要连接到PostgreSQL数据库。在我的部署管道中,我只想在集成测试通过的情况下进行部署。

如何在Microsoft build agent中提供有效的连接字符串?

我查看了服务连接,看不到任何与数据库相关的信息。

2 个答案:

答案 0 :(得分:0)

我建议您使用runsettings,您可以在任务中覆盖它。这样,您将使连接字符串不受源代码控制。请检查此link。在服务连接方面,您不需要任何服务连接,仅需要适当的连接字符串即可。

由于我不知道您如何详细连接数据库,因此无法提供更多信息。如果提供示例,说明您已经如何连接到数据库,那么我可以尝试提供更好的答案。

答案 1 :(得分:0)

如果使用的是Microsoft托管代理,则需要从Internet访问数据库。 否则,您需要在可以访问数据库的自托管代理上使用它。

我假定默认的连接字符串在appsettings.json中,您可以将实际的数据库连接字符串存储到一个秘密变量中,然后通过某个任务(例如Set Json Property)使用该变量值更新appsettings.json文件,或者在运行Web应用程序并在构建期间开始测试之前进行编程(例如,PowerShell脚本)。

如果可以使用任何PostgreSQL数据库,则可以将service container与具有PostgreSQL数据库的docker映像(例如postgres)结合使用。

对于经典管道,您可以调用docker命令运行映像。