gpt4 book ai didi

reactjs - 使用 Azure DevOps 将 React 应用程序部署到 Azure Web App 时发布失败

转载 作者:行者123 更新时间:2023-12-03 03:39:57 26 4
gpt4 key购买 nike

我无法在 Azure DevOps 中获取发布管道来成功将构建文件从 React 应用部署到 Azure 应用服务。这是应用程序的 YAML 文件:

trigger:
- main

variables:
buildConfiguration: 'Release'

stages:
- stage: Build
displayName: 'Build my web application'
jobs:
- job: 'Build'
displayName: 'Build job'
pool:
vmImage: ubuntu-latest
demands:
- npm

steps:
- task: NodeTool@0
inputs:
versionSpec: '16.x'
displayName: 'Install Node.js'

- script: |
npm install
npm run build
displayName: 'npm install and build'

- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: 'build'
ArtifactName: 'drop'
publishLocation: 'Container'
displayName: 'Build artifact'

正如您所期望的,这会将生成的构建文件放入“drop”中。我可以通过检查“drop”的内容来确认这一点,因为它是一个已发布的工件,我可以在构建过程的“摘要”选项卡中单击。这是失败的发布。这是发布的日志:

2022-03-28T11:29:39.9940600Z ##[section]Starting: Azure Web App Deploy: my-app-serv
2022-03-28T11:29:39.9952321Z ==============================================================================
2022-03-28T11:29:39.9952723Z Task : Azure Web App
2022-03-28T11:29:39.9953008Z Description : Deploy an Azure Web App for Linux or Windows
2022-03-28T11:29:39.9953295Z Version : 1.200.0
2022-03-28T11:29:39.9953540Z Author : Microsoft Corporation
2022-03-28T11:29:39.9953833Z Help : https://aka.ms/azurewebapptroubleshooting
2022-03-28T11:29:39.9954210Z ==============================================================================
2022-03-28T11:29:40.3697650Z Got service connection details for Azure App Service:'my-app-serv'
2022-03-28T11:29:42.3999385Z Package deployment using ZIP Deploy initiated.
2022-03-28T11:30:18.0663125Z Updating submodules.
2022-03-28T11:30:18.0670674Z Preparing deployment for commit id 'dc023bbe-d'.
2022-03-28T11:30:18.0672154Z Repository path is /tmp/zipdeploy/extracted
2022-03-28T11:30:18.0673178Z Running oryx build...
2022-03-28T11:30:19.1423345Z Command: oryx build /tmp/zipdeploy/extracted -o /home/site/wwwroot --platform nodejs --platform-version 16 -i /tmp/8da10ae4b1f9200 -p compress_node_modules=tar-gz --log-file /tmp/build-debug.log
2022-03-28T11:30:19.1431972Z Operation performed by Microsoft Oryx, https://github.com/Microsoft/Oryx
2022-03-28T11:30:19.1453191Z You can report issues at https://github.com/Microsoft/Oryx/issues
2022-03-28T11:30:19.1453685Z
2022-03-28T11:30:19.1454256Z Oryx Version: 0.2.20211207.1, Commit: 46633df49cc8fbe9718772a3c894df221273b2af, ReleaseTagName: 20211207.1
2022-03-28T11:30:19.1457307Z
2022-03-28T11:30:19.1463475Z Build Operation ID: |DTbD+7CrQyM=.49dfa157_
2022-03-28T11:30:19.1465355Z Repository Commit : dc023bbe-d46e-46f2-9d49-6e8157706c19
2022-03-28T11:30:19.1465695Z
2022-03-28T11:30:19.1466122Z Detecting platforms...
2022-03-28T11:30:19.1466558Z Could not detect any platform in the source directory.
2022-03-28T11:30:19.1467416Z Error: Couldn't detect a version for the platform 'nodejs' in the repo.
2022-03-28T11:30:19.1469069Z Error: Couldn't detect a version for the platform 'nodejs' in the repo.\n/opt/Kudu/Scripts/starter.sh oryx build /tmp/zipdeploy/extracted -o /home/site/wwwroot --platform nodejs --platform-version 16 -i /tmp/8da10ae4b1f9200 -p compress_node_modules=tar-gz --log-file /tmp/build-debug.log
2022-03-28T11:30:19.1469950Z Deployment Failed.
2022-03-28T11:30:19.1510175Z ##[error]Failed to deploy web package to App Service.
2022-03-28T11:30:19.1525344Z ##[error]To debug further please check Kudu stack trace URL : https://$my-app-serv:***@my-app-serv.scm.azurewebsites.net/api/vfs/LogFiles/kudu/trace
2022-03-28T11:30:19.1527823Z ##[error]Error: Package deployment using ZIP Deploy failed. Refer logs for more details.
2022-03-28T11:30:30.1233247Z Successfully added release annotation to the Application Insight : my-app-serv
2022-03-28T11:30:32.2997996Z Successfully updated deployment History at (CUT)
2022-03-28T11:30:34.0322983Z App Service Application URL: http://my-app-serv.azurewebsites.net
2022-03-28T11:30:34.0390276Z ##[section]Finishing: Azure Web App Deploy: my-app-serv

该版本使用 Azure Web App Deploy。应用程序类型是“Linux 上的 Web 应用程序”。 “包或文件夹”是“放置”文件夹。运行时堆栈是“16 LTS (NODE|16-lts)”(但如果它为空,它也不起作用)。放置文件夹不包含压缩输出。我不明白为什么发布操作被称为 Zip 部署。我是否遗漏了一些东西来避免错误“错误:无法在存储库中检测到平台‘nodejs’的版本。”?

我只是期望“drop”文件夹中的内容能够成功复制到应用服务,并且 Web 应用程序运行,以便我可以对其进行测试(并且在很长一段时间内,设置自动化测试)。我在构建中尝试了许多不同的方法,包括压缩构建工件,但没有成功。但我不认为构建是问题,因为“drop”文件夹中的文件是我想要复制的文件。所以我认为问题出在发行版上。但这看起来很简单。

我从代理开始并添加 Azure Web App 部署任务。它似乎成功地拾取了放置文件夹,因为我尝试了其他值,这些值在错误时显示出明显的错误。目标应用服务是 Linux,因此 Web 应用部署应用类型设置为“Linux 上的 Web 应用”。我在 stackoverflow 中看到了几种不同的方法,但没有对此方法的答案。也许我的处理方式是错误的,但从表面上看,它看起来是正确的,就好像我做对了一样,我可以轻松管理手动部署、授权等,正如发布所支持的那样。

提前致谢

最佳答案

  • 您可以尝试的一种可能的解决方法是设置 SCM_DO_BUILD_DURING_DEPLOYMENT= FALSE。将其设为 false 后,您应该能够部署该应用。
  • 另请参阅这些具有类似问题的链接以获取更多信息。
    Reference 1 , Reference 2

关于reactjs - 使用 Azure DevOps 将 React 应用程序部署到 Azure Web App 时发布失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71691443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com