GitHub Action 部署到 Azure Web App 时出错

2024-04-16

刚刚转换为新的 GitHub 应用程序服务操作构建和部署管道并收到以下错误:

Run azure/webapps-deploy@v2
  with:
    app-name: ***
    slot-name: ***
    publish-profile: ***
    package: .
Package deployment using ZIP Deploy initiated.
Fetching changes.
Cleaning up temp folders from previous zip deployments and extracting pushed zip file D:\local\Temp\zipdeploy\gtfnmdqs.zip (19.64 MB) to D:\local\Temp\zipdeploy\extracted
Error: Failed to deploy web package to App Service.
Error: Deployment Failed with Error: Package deployment using ZIP Deploy failed. Refer logs for more details.
App Service Application URL: https://***.azurewebsites.net

日志中没有任何内容指示除部署失败之外的错误。没有对存储库进行任何更改(新的 yaml 除外),并且不确定错误是否是因为未检测到代码更改。如果是这样,为什么会抛出错误而不是警告?

yml 是 Azure 标准生成的:

on:
  workflow_dispatch:
    branches: [main]

jobs:
  build:
    runs-on: windows-latest

    steps:
    - uses: actions/checkout@v2

    - name: Set up .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: '6.0.x'
        include-prerelease: true

    - name: Build with dotnet
      run: dotnet build --configuration Release

    - name: dotnet publish
      run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp

    - name: Upload artifact for deployment job
      uses: actions/upload-artifact@v2
      with:
        name: .net-app
        path: ${{env.DOTNET_ROOT}}/myapp

  deploy:
    runs-on: windows-latest
    needs: build
    environment:
      name: '***'
      url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}

    steps:
    - name: Download artifact from build job
      uses: actions/download-artifact@v2
      with:
        name: .net-app

    - name: Deploy to Azure Web App
      id: deploy-to-webapp
      uses: azure/webapps-deploy@v2
      with:
        app-name: '***'
        slot-name: '***'
        publish-profile: ${{ secrets.AzureAppService_PublishProfile_*** }}
        package: .

旁注:我有一个工作正常的新应用程序服务,这是最初使用以前的 CI/DI 的现有应用程序服务。已断开 CI/DI 的连接并生成新的连接。不确定这是否重要。

Azure 日志详细信息:

部署似乎正在确定服务计划的 CPU,这解释了为什么每个人都增加层级来解决:

尝试关闭所有应用程序服务并在没有任何其他运行的情况下进行部署,但没有效果。

还尝试将发布配置文件导入 Visual Studio,但也失败了......

即使尝试删除现有的应用服务并创建新的应用服务,但仍然无法部署。

Package deployment using ZIP Deploy initiated.
Updating submodules.
Preparing deployment for commit id '10c1139fcb'.
Generating deployment script.
Using cached version of deployment script (command: 'azure -y --no-dot-deployment -r "D:\local\Temp\zipdeploy\extracted" -o "D:\home\site\deployments\tools" --basic --sitePath "D:\local\Temp\zipdeploy\extracted\Source\Web\cdcavell\cdcavell.csproj"').
Running deployment command...
Command: "D:\home\site\deployments\tools\deploy.cmd"
Handling Basic Web Site deployment.
Creating app_offline.htm
Error: Could not find a part of the path 'D:\local\Temp\zipdeploy\extracted\Source\Web\cdcavell\cdcavell.csproj'.
KuduSync.NET from: 'D:\local\Temp\zipdeploy\extracted\Source\Web\cdcavell\cdcavell.csproj' to: 'D:\home\site\wwwroot'
Failed exitCode=1, command="kudusync" -v 50  -f "D:\local\Temp\zipdeploy\extracted\Source\Web\cdcavell\cdcavell.csproj" -t "D:\home\site\wwwroot" -n "D:\home\site\deployments\10c1139fcb004b0fbd7eb608cceb0855\manifest" -p "D:\Program Files (x86)\SiteExtensions\Kudu\94.30524.5227\bin\Scripts\firstDeploymentManifest" -i ".git;.hg;.deployment;deploy.cmd"
An error has occurred during web site deployment.
Error: Could not find a part of the path 'D:\local\Temp\zipdeploy\extracted\Source\Web\cdcavell\cdcavell.csproj'.\r\nD:\Program Files (x86)\SiteExtensions\Kudu\94.30524.5227\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"
Error: Failed to deploy web package to App Service.
Error: Deployment Failed with Error: Package deployment using ZIP Deploy failed. Refer logs for more details.
App Service Application URL: https://cdcavell.azurewebsites.net

如果有人仍然遇到此错误,这里是解决方案以及可能导致问题的原因的描述。

在 GitHub actions 出现之前,我们直接从应用服务的部署中心使用 Kudo。然而,由于我们的解决方案有多个项目,我们必须设置一个 PROJECT 配置变量,以便 Kudo 知道要部署哪个项目。

从那时起,我们每次设置新站点时都会复制应用程序服务配置,包括 PROJECT 配置变量。使用 GitHub Actions 时不需要此变量,但仍在 Kudo 中使用,Kudo 仍然是使用 azure/webapps-deploy@v2 时部署应用程序的底层框架。

设置 PROJECT 配置变量后,Kudo 会将其添加为日志中可见的参数:

Using the following command to generate deployment script: 'azure site deploymentscript -y --no-dot-deployment -r "C:\local\Temp\zipdeploy\extracted" -o "C:\home\site\deployments\tools" --basic --sitePath "C:\local\Temp\zipdeploy\extracted\YOUR-PROJECT-VARIABLE"'.

总之,只需从应用服务配置中删除 PROJECT 配置变量即可。

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

GitHub Action 部署到 Azure Web App 时出错 的相关文章

随机推荐

  • “无法从...初始化默认 wsdl”——为什么?

    My pom xml包含以下内容 用于自动为具有以下指定 WSDL 的工作 Web 服务生成客户端
  • 在bash中生成不重复的随机数序列

    今晚我一直在忙着学习 bash 我一直在尝试创建一个随机数字序列 该序列使用一个范围内的所有数字 并且每个数字只使用一次 因此 输入 1 5 的范围将输出 4 3 5 2 1 或 2 5 1 3 4 等 我在这件事上陷入了困境 Thanks
  • WordPress - 在侧边栏“最近的帖子”中显示特定类别的帖子

    如何使 WP 侧边栏中的 最近帖子 仅显示特定类别的帖子 使用 Otto 的 php 代码小部件之一制作您自己的最近帖子小部件可能是最简单的http wordpress org extend plugins php code widget
  • 如何使用 python 处理 dbus 接口的属性?

    我即将致力于实施mpris http mpris org 但目前我不知道如何使用 python dbus 读取 写入 dbus 接口属性 有这方面的例子吗 终于得到了答案 dbus service method dbus PROPERTIE
  • CSS 缩放不是模糊而是像素化

    我想在图像的 CSS 中使用缩放属性 但不希望对放大的图像产生模糊效果 而是像素化 我怎样才能实现这个目标 编辑 如果需要 可以使用其他属性或其他语言 您 当前 不能使用放大并指定浏览器应使用最近邻缩放 无论是 HTML 图像 放大的 HT
  • Javascript - 捕获对对象属性的访问[重复]

    这个问题在这里已经有答案了 是否可以捕获对象的 任何 属性被访问或尝试访问的时间 Example 我已经创建了自定义对象Foo var Foo function var self set a few properties return se
  • 将表行变成 Rails 中的链接

    我正在尝试在表中创建一行链接到编辑页面 我知道正在创建链接 因为我可以将它们打印出来 我很接近 但缺少一些重要的东西 我需要更改什么才能使链接正常工作 h1 Scouts h1 p p div class message board tab
  • PHP 时区 getTransitions 值得信赖吗?

    您是否曾经遇到过通过 getTransitions 函数进行 PHP 时区转换的任何问题 我正在尝试将阿根廷日期转换为 GMT 如果我查看转换数组 我会得到 63 gt Array ts gt 1287284400 time gt 2010
  • 使用“overflow: auto”滚动 div 的位置

    鉴于这个 HTML 片段 div style width 200px height 200px border 1px solid black 1 br 2 br 3 br 4 br 5 br 6 br 7 br 8 br 9 br 10 b
  • 在 xml 文件中写入一些字符,例如“<”

    自从我开始编程以来 我在为 Android 开发时在 Eclipse 中的 string xml 中使用了一些特殊字符 例如 一年来一切都运行良好 但今天 我只想做一些小的更改并开始编辑我的 xml 文件 我现在收到这些字符的编译错误 因为
  • 使用元类与多重继承相结合的类型错误

    我有两个关于数据类和多重继承的问题 第一个是 为什么我会收到该类的 TypeErrorDerived但不是为了Derived2 class Metaclass type pass class Klass object metaclass M
  • 文件下载已损坏

    我作为一名实验室讲师 试图通过将文件保留在 webroot 之上并强制他们登录 通过大学的 LDAP 进行身份验证 来确保我的学生无法过早下载他们的入门文件 验证它是否已经过版本然后 time 使用 readfile 向他们发送文件 不幸的
  • Python 中键为整数对的字典

    在Python中如何创建一个键为整数对的字典 例如 如果我这样做 mydict dict mydict 1 2 xxx 我收到错误TypeError unhashable type list 所以我想出了两种不同的解决方案 字符串或元组作为
  • Android 2.2 导致图片颜色失真?

    我的应用程序中有一些 png 文件 我需要在运行时加载这些 并从中获取某些像素的确切颜色 重要的是 我不想缩放这些图片 我不会直接在用户界面上显示它们 它们充当地图 现在 在Android 1 5上 这已经没有问题了 我将这些图像放在 re
  • 列出所有物理驱动器 (Windows)

    如何使用 C C 获取 Windows 计算机上的所有物理驱动器路径 PhysicalDriveX 答案在this https stackoverflow com questions 327718 how to list physical
  • 根据编译时常量禁用/隐藏模板中的函数

    是否可以使用编译时常量有条件地隐藏或禁用模板类中的函数 想象一下下面的类 template
  • InnoDB:无法打开或创建系统表空间

    我在 Xampp 上打开 mysql 服务器时遇到问题 错误 MySQL 意外关闭 这可能是由于端口被阻止 缺少依赖项 不正确的权限 崩溃或通过其他方法关闭 按日志按钮查看错误日志并检查 Windows 事件查看器以获取更多线索 如果您需要
  • 如何将 primevue css 文件添加到 JHipster 项目

    我正在尝试使用 vue js 应用程序将 primevue 添加到我的 jhister 中 我正在遵循这些步骤 1 运行这些评论 npm install primevue save npm install primeicons save 2
  • 假冒客户端和属性中的名称

    我有这样的东西 FeignClient name airport service name 我有编译错误 例如 java lang IllegalStateException 服务 ID 不合法主机名 airport service nam
  • GitHub Action 部署到 Azure Web App 时出错

    刚刚转换为新的 GitHub 应用程序服务操作构建和部署管道并收到以下错误 Run azure webapps deploy v2 with app name slot name publish profile package Packag