部署到Google App Engine

 荣媛厉4 发布于 2022-12-04 12:00

我正在努力使用Google App Engine.我想做的就是:

从https://cloud.google.com/appengine/docs/java/tools/maven部署留言簿应用程序(我选择了留言板应用程序)

设置推送部署https://cloud.google.com/tools/repo/push-to-deploy

我正在按照教程的确切步骤进行操作.我现在已经尝了好几次了.该应用程序在Jenkins中构建良好(我设法让它运行),但部署失败.

+ gcloud --project=MyProject preview app deploy target/guestbook-1.0-SNAPSHOT.war
ERROR: File [/var/jenkins/workspace/MyProject/target/guestbook-1.0-SNAPSHOT.war] is not a valid deployable item.
ERROR: (gcloud.preview.app.deploy) Errors occurred while parsing the App Engine app configuration: 
Build step 'Execute shell' marked build as failure
Finished: FAILURE

它在本地开发Web服务器上运行良好.MyProject是项目ID(我刚刚为示例更改了它).我究竟做错了什么.我的意思是我忘了做某事吗?我已经做了五年多的Java了,我无法理解为什么做这么基本的事情应该这么难.请帮我

来自詹金斯:

Started by user User Name
Building remotely on cloud-dev-java in workspace /var/jenkins/workspace/MyGuestbook
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://source.developers.google.com/p/MyProject # timeout=10
Fetching upstream changes from https://source.developers.google.com/p/MyProject
 > git --version # timeout=10
using .gitcredentials to set credentials
 > git config --local credential.helper store --file=/tmp/git7191806817673001841.credentials # timeout=10
 > git fetch --tags --progress https://source.developers.google.com/p/MyProject +refs/heads/*:refs/remotes/origin/*
 > git config --local --remove-section credential # timeout=10
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 2bf8419a93275dc87adb7be00d1fda9e6efc773b (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 2bf8419a93275dc87adb7be00d1fda9e6efc773b
 > git rev-list 9d2cd477ad8fcb6f210bd2418e8f708e5c5167f9 # timeout=10
[MyGuestbook] $ mvn clean test package
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building myapp 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ myapp ---
[INFO] Deleting /var/jenkins/workspace/MyGuestbook/target
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ myapp ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /var/jenkins/workspace/MyGuestbook/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ myapp ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to /var/jenkins/workspace/MyGuestbook/target/myapp-1.0-SNAPSHOT/WEB-INF/classes
[INFO] 
[INFO] --- versions-maven-plugin:2.1:display-dependency-updates (default) @ myapp ---
[INFO] The following dependencies in Dependencies have newer versions:
[INFO]   com.google.appengine:appengine-api-1.0-sdk ......... 1.9.17 -> 1.9.17a
[INFO]   com.google.appengine:appengine-api-stubs ........... 1.9.17 -> 1.9.17a
[INFO]   com.google.appengine:appengine-testing ............. 1.9.17 -> 1.9.17a
[INFO]   javax.servlet:servlet-api ......................... 2.5 -> 3.0-alpha-1
[INFO]   junit:junit ...................................... 4.12-beta-1 -> 4.12
[INFO]   org.mockito:mockito-all ............................. 1.9.5 -> 1.10.17
[INFO] 
[INFO] 
[INFO] --- versions-maven-plugin:2.1:display-plugin-updates (default) @ myapp ---
[INFO] 
[INFO] The following plugin updates are available:
[INFO]   com.google.appengine:appengine-maven-plugin ....... 1.9.17 -> 1.9.17a
[INFO]   maven-compiler-plugin .................................... 3.1 -> 3.2
[INFO]   maven-war-plugin ......................................... 2.4 -> 2.5
[INFO] 
[WARNING] The following plugins do not have their version specified:
[WARNING]   maven-clean-plugin ........................ (from super-pom) 2.6.1
[WARNING]   maven-deploy-plugin ....................... (from super-pom) 2.8.2
[WARNING]   maven-install-plugin ...................... (from super-pom) 2.5.2
[WARNING]   maven-resources-plugin ...................... (from super-pom) 2.7
[WARNING]   maven-site-plugin ........................... (from super-pom) 3.4
[WARNING]   maven-surefire-plugin ...................... (from super-pom) 2.18
[INFO] 
[INFO] Project defines minimum Maven version as: 3.1.0
[INFO] Plugins require minimum Maven version of: 3.1.0
[INFO] Note: the super-pom from Maven 3.1.0 defines some of the plugin
[INFO]       versions and may be influencing the plugins required minimum Maven
[INFO]       version.
[INFO] 
[INFO] No plugins require a newer version of Maven than specified by the pom.
[INFO] 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ myapp ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /var/jenkins/workspace/MyGuestbook/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ myapp ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to /var/jenkins/workspace/MyGuestbook/target/test-classes
[WARNING] /var/jenkins/workspace/MyGuestbook/src/test/java/com/mycompany/myapp/GuestbookServletTest.java: Some input files use or override a deprecated API.
[WARNING] /var/jenkins/workspace/MyGuestbook/src/test/java/com/mycompany/myapp/GuestbookServletTest.java: Recompile with -Xlint:deprecation for details.
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ myapp ---
[INFO] Surefire report directory: /var/jenkins/workspace/MyGuestbook/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.mycompany.myapp.GuestbookServletTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.702 sec
Running com.mycompany.myapp.SignGuestbookServletTest
Dec 22, 2014 5:32:44 PM com.google.appengine.api.datastore.dev.LocalDatastoreService init
INFO: Local Datastore initialized: 
    Type: Master/Slave
    Storage: In-memory
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.456 sec

Results :

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ myapp ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /var/jenkins/workspace/MyGuestbook/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ myapp ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- versions-maven-plugin:2.1:display-dependency-updates (default) @ myapp ---
[INFO] The following dependencies in Dependencies have newer versions:
[INFO]   com.google.appengine:appengine-api-1.0-sdk ......... 1.9.17 -> 1.9.17a
[INFO]   com.google.appengine:appengine-api-stubs ........... 1.9.17 -> 1.9.17a
[INFO]   com.google.appengine:appengine-testing ............. 1.9.17 -> 1.9.17a
[INFO]   javax.servlet:servlet-api ......................... 2.5 -> 3.0-alpha-1
[INFO]   junit:junit ...................................... 4.12-beta-1 -> 4.12
[INFO]   org.mockito:mockito-all ............................. 1.9.5 -> 1.10.17
[INFO] 
[INFO] 
[INFO] --- versions-maven-plugin:2.1:display-plugin-updates (default) @ myapp ---
[INFO] 
[INFO] The following plugin updates are available:
[INFO]   com.google.appengine:appengine-maven-plugin ....... 1.9.17 -> 1.9.17a
[INFO]   maven-compiler-plugin .................................... 3.1 -> 3.2
[INFO]   maven-war-plugin ......................................... 2.4 -> 2.5
[INFO] 
[WARNING] The following plugins do not have their version specified:
[WARNING]   maven-clean-plugin ........................ (from super-pom) 2.6.1
[WARNING]   maven-deploy-plugin ....................... (from super-pom) 2.8.2
[WARNING]   maven-install-plugin ...................... (from super-pom) 2.5.2
[WARNING]   maven-resources-plugin ...................... (from super-pom) 2.7
[WARNING]   maven-site-plugin ........................... (from super-pom) 3.4
[WARNING]   maven-surefire-plugin ...................... (from super-pom) 2.18
[INFO] 
[INFO] Project defines minimum Maven version as: 3.1.0
[INFO] Plugins require minimum Maven version of: 3.1.0
[INFO] Note: the super-pom from Maven 3.1.0 defines some of the plugin
[INFO]       versions and may be influencing the plugins required minimum Maven
[INFO]       version.
[INFO] 
[INFO] No plugins require a newer version of Maven than specified by the pom.
[INFO] 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ myapp ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /var/jenkins/workspace/MyGuestbook/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ myapp ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ myapp ---
[INFO] Skipping execution of surefire because it has already been run for this configuration
[INFO] 
[INFO] --- maven-war-plugin:2.4:war (default-war) @ myapp ---
[INFO] Packaging webapp
[INFO] Assembling webapp [myapp] in [/var/jenkins/workspace/MyGuestbook/target/myapp-1.0-SNAPSHOT]
[INFO] Processing war project
[INFO] Copying webapp webResources [/var/jenkins/workspace/MyGuestbook/src/main/webapp/WEB-INF] to [/var/jenkins/workspace/MyGuestbook/target/myapp-1.0-SNAPSHOT]
[INFO] Copying webapp resources [/var/jenkins/workspace/MyGuestbook/src/main/webapp]
[INFO] Webapp assembled in [154 msecs]
[INFO] Building war: /var/jenkins/workspace/MyGuestbook/target/myapp-1.0-SNAPSHOT.war
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.355s
[INFO] Finished at: Mon Dec 22 17:32:47 UTC 2014
[INFO] Final Memory: 20M/56M
[INFO] ------------------------------------------------------------------------
[MyGuestbook] $ /bin/sh -xe /tmp/hudson5523568617447680772.sh
+ gcloud --project=MyProject preview app deploy target/myapp-1.0-SNAPSHOT.war
ERROR: File [/var/jenkins/workspace/MyGuestbook/target/myapp-1.0-SNAPSHOT.war] is not a valid deployable item.
ERROR: (gcloud.preview.app.deploy) Errors occurred while parsing the App Engine app configuration: 
Build step 'Execute shell' marked build as failure
Finished: FAILURE

AppEngine上-web.xml中:



    MyProject
    ${appengine.app.version}
    true

    
        
    

我做错了什么,我错过了什么?我完全按照他们的说法跟踪了指南.

我曾尝试使用Google Source作为存储库和Github.什么都行不通.

编辑:

有用:

Updating module [default] from file [/tmp/appcfgpyASfUun/app.yaml]
09:15 PM Host: appengine.google.com
09:15 PM Application: esoteric-cab-803; version: 1
09:15 PM 
Starting update of app: esoteric-cab-803, version: 1
09:15 PM Getting current resource limits.
09:15 PM Scanning files on local disk.
09:15 PM Cloning 6 application files.
09:15 PM Uploading 3 files and blobs.
09:15 PM Uploaded 3 files and blobs.
09:15 PM Compilation starting.
09:15 PM Compilation completed.
09:15 PM Starting deployment.
09:15 PM Checking if deployment succeeded.
09:15 PM Deployment successful.
09:15 PM Checking if updated app version is serving.
09:15 PM Completed update of app: esoteric-cab-803, version: 1
Finished: SUCCESS

多么美妙的景象!

1 个回答
  • 由于您的jenkins构建脚本失败,因此无法部署:

    Build step 'Execute shell' marked build as failure

    在"执行shell"步骤中,您必须确保脚本以状态0返回.其他任何内容都被视为失败.请参阅此SO回答类似问题.

    您的"执行shell"部分似乎是这样的:

    [MyGuestbook] $ /bin/sh -xe /tmp/hudson5523568617447680772.sh
    + gcloud --project=MyProject preview app deploy target/myapp-1.0-SNAPSHOT.war
    ERROR: File [/var/jenkins/workspace/MyGuestbook/target/myapp-1.0-SNAPSHOT.war] is not a valid deployable item.
    ERROR: (gcloud.preview.app.deploy) Errors occurred while parsing the App Engine app configuration: 
    Build step 'Execute shell' marked build as failure
    Finished: FAILURE
    

    构建的"执行shell"部分失败,因为从脚本返回的状态代码似乎是从gcloud命令返回的状态代码.如果您在此处.war查看文档,则可以看到它不接受存档,而只接受解压缩的war文件夹.您只需更改该行即可

    gcloud --project=MyProject preview app deploy target/myapp-1.0-SNAPSHOT.war
    

    gcloud --project=MyProject preview app deploy target/myapp-1.0-SNAPSHOT
    

    并且此时,构建的"执行shell"部分将正常运行,因此整个jenkins构建应该正确完成.

    摇篮

    如果您正在使用gradle进行构建,则可能已经生成了一个展开的应用目录:

    build/exploded-app
    

    2022-12-11 02:13 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有