Azure 开发运营 |单元测试 |无法连接到 SQL 数据库

问题描述 投票:0回答:1

我正在尝试将我的单元测试项目添加回 Azure Dev Ops 中运行的管道中。

这在过去是有效的,但由于 X 原因我们不得不删除它。

我一切正常,前两次测试运行良好。在第三次测试中,它必须连接我们在 Azure 上的 SQL 数据库。

这是错误:

System.Data.SqlClient.SqlException: Cannot open server 'Server' requested by the login. Client with IP address 'IP Address' is not allowed to access the server.  To enable access, use the Azure Management Portal or run sp_set_firewall_rule on the master database to create a firewall rule for this IP address or address range.  It may take up to five minutes for this change to take effect.
  Stack Trace:

我尝试在错误中添加第一个 IP 地址,但随后 IP 地址发生了更改(如 Azure 服务所做的那样)。那么我就按照这个链接进行操作,我们已经检查过了。

我还缺少什么?

unit-testing azure-devops mocking
1个回答
0
投票

您可以使用 Azure CLI 添加启动管道。您可以使用命令az sql server防火墙规则

您可以获取运行的ip地址

curl ifconfig.me

这里有allow.ps1脚本

$serverName = "<server name>"
$resourceGroupName = "<resource group name>"
$ruleName = "<rule name>"
$globalIPAddress = curl ifconfig.me

echo "Global IP Address of this site: $globalIPAddress"

az sql server firewall create --firewall-rule-name $ruleName --server-name $serverName -g $resourceGroupName --start-ip-address $globalIPAddress --end-ip-address $globalIPAddress > $null
az sql server firewall list --server-name $serverName -g $resourceGroupName -o table

在这里,deny.ps1 您可以在管道末尾运行,以从允许列表中删除 ip

$serverName = "<server name>"
$resourceGroupName = "<resource group name>"
$ruleName = "<rule name>"

az sql server firewall delete --firewall-rule-name $ruleName --server-name $serverName -g $resourceGroupName > $null
az sql server firewall list --server-name $serverName -g $resourceGroupName -o table
© www.soinside.com 2019 - 2024. All rights reserved.