Azure应用服务部署REACT JS应用程序时出错

3okqufwl  于 2022-12-04  发布在  React
关注(0)|答案(4)|浏览(169)

从编辑器部署到Azure应用服务时出错。

4:48:55 pm ppdedsrftwu2-appservice1: Starting deployment...
4:48:56 pm ppdedsrftwu2-appservice1: Creating zip package...
4:49:00 pm ppdedsrftwu2-appservice1: Zip package size: 1.09 MB
4:49:04 pm ppdedsrftwu2-appservice1: Fetching changes.
4:49:06 pm ppdedsrftwu2-appservice1: Updating submodules.
4:49:06 pm ppdedsrftwu2-appservice1: Preparing deployment for commit id '2a73dbd291'.
4:49:06 pm ppdedsrftwu2-appservice1: Repository path is /tmp/zipdeploy/extracted
4:49:06 pm ppdedsrftwu2-appservice1: Running oryx build...
4:49:06 pm ppdedsrftwu2-appservice1: Command: oryx build /tmp/zipdeploy/extracted -o /home/site/wwwroot --platform nodejs --platform-version 10 -i /tmp/8d856447f426192 -p compress_node_modules=tar-gz --log-file /tmp/build-debug.log 
4:49:07 pm ppdedsrftwu2-appservice1: Operation performed by Microsoft Oryx, https://github.com/Microsoft/Oryx
4:49:07 pm ppdedsrftwu2-appservice1: You can report issues at https://github.com/Microsoft/Oryx/issues
4:49:07 pm ppdedsrftwu2-appservice1: Oryx Version: 0.2.20200805.1, Commit: e7c39ede513143e9d80fd553f106f04268d770d4, ReleaseTagName: 20200805.1
4:49:07 pm ppdedsrftwu2-appservice1: Build Operation ID: |lvjLop9mFGA=.426fac1c_
4:49:07 pm ppdedsrftwu2-appservice1: Repository Commit : 2a73dbd2834715ba1fee5082d13b60
4:49:07 pm ppdedsrftwu2-appservice1: Detecting platforms...
4:49:07 pm ppdedsrftwu2-appservice1: Could not detect any platform in the source directory.
4:49:07 pm ppdedsrftwu2-appservice1: Error: Couldn't detect a version for the platform 'nodejs' in the repo.
4:49:09 pm ppdedsrftwu2-appservice1: 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 10 -i /tmp/8d856447f4292 -p compress_node_modules=tar-gz --log-file /tmp/build-debug.log 
4:49:20 pm ppdedsrftwu2-appservice1: Deployment failed.

已在门户中定义了所有必要的设置。

SCM_DO_BUILD_DURING_DEPLOYMENT=true
WEBSITE_NODE_DEFAULT_VERSION=12
WEBSITES_PORT=3000
WEBSITE_HTTPLOGGING_RETENTION_DAYS=7

已尝试使用node版本10,但仍出现相同错误。

vybvopom

vybvopom1#

与MS支持团队联系,他们建议制作SCM_DO_BUILD_DURING_DEPLOYMENT= FALSE。在将其设置为false后,我可以部署应用程序。但奇怪的是,启用此选项后,我在做早期的部署,它是工作的。

von4xj4u

von4xj4u2#

在我的例子中,我把节点app放在了一个子目录中,这导致了GitHub Actions作业中的这个错误。在yml文件中显式设置工作目录修复了这个错误。

- name: npm install, build, and test
    working-directory: ./subdirectory
    run: |
      npm install
      npm run build --if-present
      npm run test --if-present
bq8i3lrv

bq8i3lrv3#

如果您正在从Visual Studio Code进行部署,并部署dist/...文件夹,那么您不会希望尝试并实际进行构建,因此设置SCM_DO_BUILD_DURING_DEPLOYMENT=false
没有一个运行的节点js服务器来实际在代理池部署管道上进行构建。Azure devops或Jenkins本身实际上会有一个代理池来进行“适当的(空中引号)”构建。是的,你的代码在节点上运行,因此你在设置web app时选择了设置。所以这两件事是不一样的。相反,DevOps。
我没有在文档中找到它,所以感谢这里的答案和响应;但我只是想给予更多的答案。
这是对visual studio web apps部署的升级,可以潜在地利用其他构建方法,就像这里关于github操作的答案中所描述的那样。

juud5qan

juud5qan4#

我也纠结于这个问题。
有两件事帮助了我:
从Azure应用程序服务扩展部署时:
1.了解NodeJS应用程序的根文件夹必须是在vscode档案总管中开启的根数据夹。
如果您的NodeJS应用程序位于子文件夹中,Azure将无法构建(或识别您的节点平台:因此您看到的错误消息)根文件夹中的脚本。
到目前为止,解决这个问题最简单的方法是在根文件夹(package.json文件所在的文件夹)中打开vscode。

  • 此外:当您按一下vscode Azure应用程序服务延伸模块上的部署按钮时:它可能允许您指定要部署的文件夹。

1.您可以尝试添加“应用程序”设置:SCM_DO_BUILD_DURING_DEPLOYMENT,值为FALSE,“部署”插槽设置为取消选中。
这位于Azure门户上的“配置-应用程序设置-添加+”下
记得在添加新的应用程序设置后单击保存按钮.....因为Azure...哈哈。
但我认为这主要是推迟你的应用程序建设的方式,直到文件被复制。
最后一件事:如果您正在从Github部署:确保你的nodeJS应用程序也在Github存储库的根文件夹中。如果不是,你需要更新工作流文件,将文件夹更改为子文件夹。
您只需要将cd yourfoldername添加到npm install行的上方,并将工作流更改提交到repo。
希望这对你有帮助。

相关问题