从 github 操作部署 Azure 函数会导致“错误:无法获取 Kudu 应用程序设置。错误请求(代码:400)”

2024-01-23

我在尝试从 GitHub Action 部署 Azure Function 应用程序时遇到错误。

错误是

##[Initialize]
##[ValidateParameter]
##[ValidateAzureResource]
Using SCM credential for authentication, GitHub Action will not perform resource validation.

错误:执行异常(状态:ValidateAzureResource)(步骤:调用)
错误:在 ValidateAzureResource 请求 Azure 资源时,获取函数应用程序设置:无法获取应用程序设置 (SCM)
错误:无法获取 Kudu 应用程序设置。
错误请求(代码:400)
错误:无法获取 Kudu 应用程序设置。
错误请求(代码:400)

在库杜。 (D:\a_ actions\Azure\functions-action\v1\node_modules\azure-actions-app service-rest\Kudu\azure-app-kudu-service.js:62:23)
在 Generator.next() 处
已完成 (D:\a_actions\Azure\functions-action\v1\node_modules\azure-actions-appservice-rest\Kudu\azure-app-kudu-service.js:5:58)
在 processTicksAndRejections (内部/process/task_queues.js:93:5)
错误:部署失败!

几个月来,它一直以完全相同的方式工作——我已经使用它进行了数百次部署,但在过去的几天里,它开始失败(跨多个存储库)。

它非常类似于这个问题 https://stackoverflow.com/questions/64502419/azure-functions-deploy-from-github-actions-results-in-error-connect-econnrefuse/64863282#64863282,但是当我添加该问题的“变体”时,我被践踏并被告知添加为新问题 - 所以我们就在这里。

我的情况的不同之处在于,我没有使用发布配置文件(至少没有明确地),而是使用服务主体凭证 https://github.com/marketplace/actions/azure-functions-action#using-azure-service-principle-for-rbac-as-deployment-credential.。如果这不是在幕后使用发布配置文件,我不会感到惊讶(这就是为什么我认为我的问题是上面问题的变体)。

非常重要的是,我的部署过程中没有任何手动步骤 - 因此我确实需要为此找到一个完全自动化的解决方法。我正要去搜寻 GitHub 操作的代码,但与此同时,有人知道如何立即解决这个问题吗?


对于任何研究此问题的人来说,就我而言,这是由于我的函数中的 IP 访问限制 - 允许的 IP 地址集有限。

有一个简单的解决方案,而不是手动添加 Github Actions 的 Azure IP 地址 - 您可以转到 Azure > 网络 > 上的函数访问限制

进入该屏幕后,在添加规则而不是 IPv4 地址时,选择服务标签并搜索蔚蓝云服务标签,根据此标签打开所有数据中心公共 IP 地址:https://learn.microsoft.com/en-us/azure/virtual-network/service-tags-overview https://learn.microsoft.com/en-us/azure/virtual-network/service-tags-overview

最初我以为选择行动组服务标签可以工作,但随后必须恢复为蔚蓝云 tag.

如果有人知道一个更具限制性的标签来解决这个 Kudo Github Actions 问题,而不是允许所有蔚蓝云, 请给出意见。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 github 操作部署 Azure 函数会导致“错误:无法获取 Kudu 应用程序设置。错误请求(代码:400)” 的相关文章

随机推荐