在Azure上的GitHub工作流中应用EF迁移

gcxthw6b  于 2023-08-07  发布在  Git
关注(0)|答案(1)|浏览(151)

我有一个webapi,我在其中使用迁移来更新数据库,但是当我添加到github操作时:

- name: Database update
    run: |
      dotnet tool install --global dotnet-ef
      dotnet tool restore
      dotnet ef database update -c MyContext -p ./MyProject.WebApi

字符串
要运行迁移,它会在错误时崩溃:
错误号:-1983577849,State:0,Class:20建立到SQL Server的连接时发生与网络相关的或特定于示例的错误。找不到服务器或无法访问。请验证示例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:SNI_PN11,错误:50 -发生本地数据库运行时错误。指定的LocalDB示例不存在。
我唯一能想到的是,我应该设置连接到数据库的IP,但我不知道构建运行的IP。或者在Azure中有什么地方可以将其设置为从github连接到数据库?
PS:我使用的连接字符串是直接从Azure门户复制的

e0bqpujr

e0bqpujr1#

正如你提到的,这可能是允许从Github Runners访问数据库的情况。
可以将其列入白名单。但名单真的很长。
请看here - About GitHub's IP addresses。所有地址从行动部分需要添加到您的防火墙设置。
下面是github API https://api.github.com/meta的链接

"actions": [
    "4.148.0.0/16",
    "4.149.0.0/18",
    "4.149.64.0/19",
    "4.149.96.0/19",
    "4.149.128.0/17",
    "4.150.0.0/18",
    "4.150.64.0/18",
    "4.150.128.0/18",
    "4.150.192.0/19",
    "4.150.224.0/19",
.....

字符串
如果您使用Azure SQL数据库,则可以考虑类似的方法,因为它是here for App Services

相关问题