我正在尝试使用CloudBuilder将Java应用程序部署到GAE Standard。
我的cloudbuild.yaml如下:
steps:
- name: "gcr.io/cloud-builders/gcloud"
args: ["app", "deploy"]
timeout: "1600s"
我有一个app.yaml(我不确定我是否需要),但是部署似乎总是找不到appengine-web.xml
我有一个相当标准的Maven文件结构,并且appengine-web.xml
位于src/main/webapp/WEB-INF/appengine-web.xml
我遇到了很多错误,主要是与appengine-web.xml有关,最近一次是
ERROR: (gcloud.app.deploy) INVALID_ARGUMENT: WEB-INF/appengine-web.xml is required for this runtime.
有人能使用这种构建吗?
顺便说一句,使用我的开发机器上的maven进行部署
mvn -D skipTests clean package appengine:deploy
编辑更多信息。
我正在使用Java 8
目标运行时也是Java 8
appengine-web.xml如下
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>myapp-staging</application>
<version>alpha-001</version>
<threadsafe>true</threadsafe>
<runtime>java8</runtime>
<system-properties>
<property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
</system-properties>
<env-variables>
<env-var name="ENDPOINTS_SERVICE_NAME" value="myapp-staging.appspot.com" />
</env-variables>
</appengine-web-app>
从我的开发机器上运行时,我可以使用以下命令成功部署到GAE
mvn -D skipTests clean package appengine:deploy
答案 0 :(得分:3)
对于Java 8运行时,必须使用maven命令。
尝试此步骤
steps:
- name: "gcr.io/cloud-builders/mvn"
args: ["-D", "skipTests", "clean", "package", "appengine:deploy"]
让我知道它是否有效。
否则,如果您不使用App Engine Java8特殊样式,则可以切换到Java11运行时。