在Google App Engine上部署Spring Boot应用程序

时间:2018-12-18 12:53:35

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

Google Standard App Engine的应用程序部署限制约为35MB。 我想将基于Spring Boot的应用程序部署到GAE,但仅通过引用

   dependencies {
       implementation 'org.springframework.boot:spring-boot-starter-web'
       implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

       runtimeOnly 'com.h2database:h2'                                      
   }

该应用程序已超过40MB。有没有一种方法可以让App Engine知道在运行时获取这些文件,而不是将它们编译成一个大的war文件?

2 个答案:

答案 0 :(得分:4)

它们不将文件大小限制为35mb。我们仍然部署了100多个项目。 enter image description here

但是有一件事,请确保您正在使用

DBDPersist on
DBDExptime 300
DBDMax 10
DBDMin 1
DBDriver ?

DBDParams "host=192.168.0.8;dbname=db;username=sa;password=pass"

NameVirtualHost *
<VirtualHost *:80>
ServerAdmin webmaster@domain

DocumentRoot /var/www/webdavhtml/
<Directory /srv/nfs/webdav/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>

Alias /webdav /srv/nfs/webdav
<Location /webdav>
  DAV On
  AuthName "webdav"
  AuthType Basic
  AuthBasicProvider dbd
  AuthDBDUserPWQuery "SELECT encrypt(password) AS PassHash FROM dbo.db WHERE Login = %s"
  Require valid-user
</Location>

代替App Engine灵活版本

答案 1 :(得分:0)

32MB的限制为only for individual files

旧的部署方式(appcfg.sh)在未压缩的war文件上工作,而maven(mvn clean package appengine:deploy)上传单个文件,因此,由于“整体战争规模”,这两种方法都不会受到限制。

查看我正在使用的这个春季启动应用程序。我刚刚向其中添加了一个虚拟的23MB文件,并且一切正常: enter image description here

我要说的是我不熟悉gradle,但很难相信他们在最新的部署工具上犯了这样的错误。

您真的达到了此限制吗?在这种情况下,您可以共享用于部署的命令和确切的错误吗?