Tôi đang gặp khó khăn với Google App Engine. Tất cả tôi muốn làm là thế này:Triển khai Google App Engine
- Triển khai ứng dụng bút từ https://cloud.google.com/appengine/docs/java/tools/maven (tôi đã chọn các ứng dụng lưu bút)
- Thiết lập push-to-triển khai https://cloud.google.com/tools/repo/push-to-deploy
tôi sau khi chính xác các bước của hướng dẫn. Tôi đã thử nhiều lần rồi. Các ứng dụng xây dựng tốt trong Jenkins (tôi quản lý để có được nó chạy) tuy nhiên việc triển khai không thành công.
+ 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
Tất cả đều hoạt động tốt trên máy chủ web phát triển cục bộ. MyProject là id dự án (tôi chỉ thay đổi nó cho ví dụ). Tôi đang làm gì sai. Ý tôi là tôi đã quên làm điều gì đó? Tôi đã làm Java trong hơn năm năm nay, tôi không thể hiểu tại sao nó phải khó khăn như vậy để làm một cái gì đó rất cơ bản. Xin hãy giúp tôi
Từ Jenkins:
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:
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>MyProject</application>
<version>${appengine.app.version}</version>
<threadsafe>true</threadsafe>
<system-properties>
<property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
</system-properties>
</appengine-web-app>
Tôi đang làm gì sai, tôi thiếu cái gì? Tôi đã theo các hướng dẫn chính xác như họ nói.
Tôi đã cố gắng sử dụng Google Source làm kho lưu trữ và Github. Không có gì hiệu quả.
EDIT:
Nó hoạt động:
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
Thật là một cái nhìn tuyệt vời!
bạn đã cố gắng để thay thế '$ {appengine.app.version } 'với giá trị thực tế? –
@IgorArtamonov Yep, tôi đã cố gắng thay thế bằng '1'. – LuckyLuke
và 'MyProject' được thay thế bằng id ứng dụng thực tế, phải không? –