Google App Engine-指定自定义构建依赖项

时间:2018-07-16 01:56:12

标签: node.js docker google-app-engine google-cloud-platform yaml

我的应用需要cmakelibx11-devlibpng-dev来构建。我碰到了this documentation,这使我相信,尽管我不知道如何将它们列出为我的应用程序在Google App Engine平台上运行的依赖项。我可以在Compute Engine实例中成功运行我的应用程序,尽管这样做成本很高,而且如果我没有记错的话,也没有必要。如何获得在问题开始时列出的,在会话结束后安装的软件包?

2 个答案:

答案 0 :(得分:2)

您只能以这种方式列出Node.js依赖项。来自Declaring and managing dependencies(重点是我):

  

您可以在App Engine中使用任何与Linux兼容的 Node.js软件包   灵活的环境,包括需要本地(C)的软件包   扩展程序。

您可以通过自定义运行时使用除Node.js以外的依赖项(列表中至少为cmake),但只能在灵活的环境中使用。来自About Custom Runtimes

  

自定义运行时允许您定义新的运行时环境,   可能包括其他组件,例如语言解释器或   应用服务器。

另请参阅Building Custom Runtimes

答案 1 :(得分:0)

您需要记住,App Engine Flexible Environment仍在使用Compute Engine实例,因此转移到此实例可能不会获得额外的好处

  

基于Google Compute Engine的App Engine灵活环境   自动在平衡负载的同时上下扩展您的应用程序。

您遇到的问题是,如果需要cmakelibx11-devlibpng-dev来构建应用程序,则仍需要使用基础Compute Engine VM才能运行应用程序。即使您也考虑移至Kubernetes Engine,情况也会如此。

如果您希望管理应用程序的成本,则可以考虑将VM缩减为较小的实例,或者考虑修改应用程序以适合App Engine Standard Environment或使用Cloud Functions