当标准适用于相同代码时,为什么Google App Engine Flex构建步骤会失败?

时间:2019-06-13 18:46:27

标签: google-app-engine google-cloud-platform

我们的nodejs应用程序在GAE Standard中运行良好。但是我们需要使用websockets,因此我们将使用Flex。但是,Flex遇到了各种各样的构建时问题。

因此,我们希望通过gcp-build步骤来部署GAE Flex,但是会遇到各种错误,例如:

Step #1: error building image: error building stage: symlink /app/packages/node_modules/autoprefixer/bin/autoprefixer /app/packages/client/node_modules/.bin/autoprefixer: file exists

并且在修补此错误之后,还会出现此错误:

error building image: read tcp 192.168.10.2:54502->74.125.20.128:443: read: connection reset by peer

我们正在使用lerna的单仓库应用程序,并且我们的gcp-build脚本仅执行:yarn build,随后执行:"build": "lerna run build --scope=client --scope=server --scope=common --stream"


我们有一种预感gcp-build仅适用于标准env,而不适用于flex。如果确实如此,您将如何建议我们在GAE Flex中运行构建步骤?如果不是,那么所有这些“建筑图像”错误又是怎么回事?用相同的代码在GAE Standard中一切都很好!

1 个答案:

答案 0 :(得分:0)

最后使我们的Flex服务器开始运行。因此,这是我最初的问题的答案:


首先,通过在gcp-build步骤中运行Step #1: error building image: error building stage: symlink /app/packages/node_modules/autoprefixer/bin/autoprefixer /app/packages/client/node_modules/.bin/autoprefixer: file exists解决了错误yarn build && rm -rf ./packages/client/node_modules


无法重现关于error building image: read tcp 192.168.10.2:54502->74.125.20.128:443: read: connection reset by peer的第二个错误,后来发现这可能是由于在部署期间我的互联网连接中断,这是由下面引用的gcloud支持代理建议的:

  

这意味着构建失败是因为缺少库,该IP目前没有响应。


最后,关于第三个问题,即gcp-build是否仅适用于标准env而不适用于flex。这不是真的。如同一代理人所引用的那样,它既可以在标准版中也可以在flex版中使用:

  

关于“ gcp-build”仅适用于标准环境而不适用于flex的问题,这是不正确的,您可以在App Engine Standard和Flex [1]中使用gcp-build。