Azure Github 应用程序部署错误:发布配置文件不包含 kudu URL

Pie*_*son 0 azure azure-web-app-service github-actions

我遇到了这个错误,我看到很多人在 GitHub 上使用 Azure 的自动部署管道功能时也遇到了同样的错误。我已经通过直接在 Azure 门户上的部署管道将我的 GitHub 存储库链接到我的应用服务。一切似乎都运行良好,但在 GitHub Actions 页面上,我看到了以下错误:

Failed to fetch credentials from Publish Profile. For more details on how to set publish profile credentials refer https://aka.ms/create-secrets-for-GitHub-workflows
Run Code Online (Sandbox Code Playgroud)

Deployment Failed with Error: Error: Publish profile does not contain kudu URL
Run Code Online (Sandbox Code Playgroud)

因此,在这里我将正式发布此错误的解决方案,供其他遇到此问题的人使用。

Pie*_*son 6

这个解决方案来自这个线程上的人,因此我不认为提出此解决方案有任何功劳。

正如后一条错误消息所暗示的那样,Azure 不接受publishURL部署凭据中的 。默认情况下,当您设置自动化管道时,会在您的存储库中创建一个 GitHub Secret。它被称为类似的东西AZUREAPPSERVICE_PUBLISHPROFILE_012345...,它包含部署凭据。您必须在此配置文件中更改一个 URL 才能使其工作。简而言之,这就是你必须做的:

  1. 从部署中心的 Azure 门户获取部署凭据文件
  2. publishURL旁边更改为publishMethod="MSDeploy"。应该是publishURL="your-app-service.scm.azurewebsites.net"
  3. 将该部署凭据文本复制到ValueGitHub 存储库上的Azure GitHub 机密中,然后重新运行失败的作业。

更详细的解释

要获取之后必须编辑的部署凭据的文本,您必须转到Azure Portal -> your-app-service -> Deployment Center -> Deployment Credentials -> Get publish profile. 如果您遇到问题,最好在第一个错误中链接的文档底部解释相同的过程。确保你不打Reset Publish Profile在执行此,因为它会更改您的部署凭据中使用的密码,您将不得不再次执行所有这些操作。

获得此文档后,请在文本编辑器中打开它。您必须更改with和 中的publishURL字段。而不是像 那样的 URL ,将以下内容与您的实际应用服务标题一起放入:publishProfileprofileName="your-app-service - Web Deploy"publishMethod="MSDeploy"foo-bar.publish.azurewebsites.windows.net:123your-app-service.scm.azurewebsites.net .

现在复制所有文本,导航到名为 GitHub Secret的名称AZUREAPPSERVICE_PUBLISHPROFILE_012345...,然后单击Update名称旁边的。将新的部署凭据粘贴到Value框中并单击Update secret

现在你完成了。导航到 GitHub Actions,单击失败的作业,然后单击Re-run jobs右上角的以使其再次运行。