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 时出错 的相关文章

  • Azure,错误 403 - 禁止:需要客户端证书

    我正在尝试在 Azure 中创建 应用程序服务 并在 设置 区域中设置 自定义域 和 TLS SSL 设置 ssl 绑定 SNI SSL 然后我通过 ftp 放置了一个 html 文件 并收到以下错误 错误 403 禁止 需要客户端证书 您
  • 构建解决方案时不支持“--output”选项

    我正在尝试将一个简单的 Web Api 应用程序部署到 Azure 以帮助我熟悉 Azure 服务和用于部署的 Github Actions 以下是我已采取的步骤 1 在 Visual Studio 中创建一个新的 NET 7 Web Ap
  • Github Actions 和 npm - npm:找不到命令

    我已经在 github actions 上创建了一个部署操作 这一切都适用于composer install 和 git pull master 分支 然而 在我的数字海洋水滴上 我遇到了问题bash line 4 npm command
  • 在 ASP.NET Core 中禁用分块

    我正在使用 ASP NET Core Azure Web 应用程序向客户端提供 RESTful API 但客户端无法正确处理分块 是否可以完全关闭Transfer Encoding chunked 无论是在控制器级别还是在文件中网络配置 我
  • 将附加文件添加到 VSTS 发布到 azure web 应用程序

    我在 VSTS 中有一个版本可以将我的 web 应用程序部署到 azure 应用程序服务 为此 我使用 Azure 应用服务部署步骤 在正常部署 web 应用程序后 我想从另一个构建结果中添加额外的 zip 工件 我只想将这些文件复制到 a
  • 更改 Azure Web 应用程序中的目标框架

    我想使用 Azure Web 应用程序将 ASP NET Core 2 1 网站发布到 Azure 来托管它 在 Azure 门户上创建 Azure Web App 时 其中一项设置是 运行时堆栈 在本例中 我将其设置为 NET Core
  • 是否可以在Azure中运行npx工具来执行包

    是否可以运行npx工具来执行Azure App服务 Web应用程序 中的包 我在用 节点 v10 19 0 npm v6 13 4 如果我在本地计算机上浏览到 nodejs 我可以看到 npx cmd 工具 但如果我在 azure 中执行相
  • Azure JWT 具有属性“hasgroups=true”而不是组属性对象

    我有一个带有 Azure Active Directory 身份验证的 Azure Web 应用程序 使用 adal Angular 制作 在我设置的应用程序清单中 groupMembershipClaims SecurityGroup 奇
  • 禁用触发的 Azure WebJob

    我有一个 webhook 触发的 Azure WebJob 由于 原因 我无法控制发送网络钩子的系统 每天发送一个 Webhook 它是唯一由 WebApp 托管的 WebJob 在测试过程中 我想禁用此 WebJob 因此我停止了 Web
  • .net core azure部署失败:项目文件不存在

    我在 Azure 中设置了一个应用程序服务应用程序 该应用程序设置为在提交到团队服务 git 存储库时部署 到目前为止 这一直工作正常 但部署失败 并显示 MSBUILD error MSB1009 Project file does no
  • 多个App服务使用同一个域名

    我们有一个场景 我们有多个 azure 应用程序服务 并且部署了 Web API 但是我们需要所有应用程序服务使用相同的域名 而不是子域 例如http example com api1 http example com api1在一个应用程
  • Azure 应用服务默认超时值是什么以及在哪里?

    是否可以使用门户 Powershell CLI 在 Azure 中查看或更改 Azure 应用服务的默认超时 这是常规设置的参考 我找不到 根据穆贡丹 拉文德兰 https learn microsoft com en us answers
  • GitHub Action 部署到 Azure Web App 时出错

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

    有没有一个聪明的方法copy and rename通过 GitHub Actions 文件 我想将一些自述文件复制到 docs文件夹 相同的存储库 而不是远程存储库 它们将根据其 frontmatter 在其中重命名title 目标是拥有某
  • GitHub 操作 - 如何参数化容器映像主机名

    我有一个 GitHub 操作 其工作流程使用容器来运行它 并使用私有 docker 注册表 myhostname com 见下文 jobs myjob name My Job runs on some tag on runners cont
  • 将 Azure Blob 与 Azure 网站连接

    我正在尝试将 Azure 网站连接到 Azure blob 我打算在容器中托管一些文件 然后从我的网站获取它们 我从本教程开始 http azure microsoft com en us documentation articles we
  • Azure Web 应用程序中 Docker 中的 Laravel 无法从已安装的文件存储中提供图像

    我有一个 azure web 应用程序 带有一个运行 apache 的自定义容器 带有 laravel 的 php 7 4 和一个安装的 azure 文件存储 从已安装的存储提供 png 文件确实适用于我在 docker 桌面中的本地构建
  • 如何从 Azure webjob 到 Azure webapp 进行通信?

    我正在运行 Azure Web 作业和 Azure Web 应用程序 该作业定期运行 并且 Web 应用程序需要作业的结果 我如何在那里得到结果 我尝试过使用 WCFnetNamedPipeBinding但由于 Azure webapps
  • Windows Azure 网站 - 获取实例标识符

    在具有多个实例的 Azure 网站上确定哪个实例正在响应 某些 ID 或其他唯一信息 的可能方法是什么 以下环境设置将包含当前请求正在其上运行的实例 ID WEBSITE INSTANCE ID 您还将在响应中收到此 id 作为 cooki
  • 受保护分支设置中的检查列表中缺少 Github 操作状态检查

    我有以下 github 操作设置 可以在创建 Pull 请求时正常触发 但它不会出现在受保护分支 主分支 的状态检查列表中 我不确定我做错了什么 name Python application on pull request branche

随机推荐

  • “无法从...初始化默认 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