2014-12-20 2 views
9

Google App Engine에 어려움을 겪고 있습니다. 나는 정확한 따라하고 https://cloud.google.com/tools/repo/push-to-deploy Google App Engine에 배포

을 푸시 - 투 - 배포

  • 는 설정 (필자는 방명록 응용 프로그램을 선택한)

    • https://cloud.google.com/appengine/docs/java/tools/maven에서 방명록 응용 프로그램을 배포 : 내가하고 싶은 모든이가 튜토리얼의 단계. 나는 여러 번 시도했다. 앱이 젠킨스에서 제대로 빌드되지만 배포가 실패합니다.

      + 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 
      

      모두 로컬 개발 웹 서버에서 제대로 작동합니다. MyProject는 프로젝트 ID입니다 (방금 예를 들어 변경했습니다). 내가 도대체 ​​뭘 잘못하고있는 겁니까. 나는 무언가를하는 것을 잊었습니까? 저는 5 년 넘게 자바를 해왔습니다. 왜 그렇게 기본적인 것을하는 것이 그렇게 어려운 일인지 이해할 수 없습니다. 젠킨스에서 나에게

      도와주세요 :

      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> 
      

      , 내가 놓친 거지 뭔가를? 나는 그들이 말하는대로 가이드를 정확히 따라 갔다.

      저는 Google 소스를 저장소 및 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 
      

      어떤 멋진 광경을!

  • +0

    당신은'$를 교체하려고 않았다을 {appengine.app.version }'실제 값으로? –

    +0

    @IgorArtamonov 그래, 나는 그것을 '1'로 바꾸려고했다. – LuckyLuke

    +0

    그리고 'MyProject'가 실제 앱 ID로 바뀌 었습니까? –

    답변

    7
    당신의 젠킨스는 스크립트가 실패 구축하기 때문에 배포하지 못하는 것

    : 단계, 당신은 스크립트가 상태 0이 다른 건 고려하여 반환 있는지 확인해야합니다 "쉘을 실행"하는 동안

    Build step 'Execute shell' marked build as failure

    실패. See this SO answer to a similar issue.

    당신의 "쉘을 실행"섹션이 하나라는 것을 나타납니다

    [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 
    

    이 상태 코드는 스크립트에서 반환하기 때문에 빌드의 섹션 "쉘을 실행하는 것은"실패하면 상태 코드를 반환 할 것 gcloud 명령에서. 문서 here, you can see that it doesn't accept .war archives, but only unpacked war folders을 확인하는 경우. 당신은 단순히

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

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

    에서 라인을 변경하고이 시점에서, 빌드의 "쉘을 실행"섹션이 제대로 실행되고 전체가 완료해야합니다 있도록 젠킨스 구축 바르게.

    Gradle을

    당신이 빌드 Gradle을를 사용하는 경우, 이미 분해 응용 프로그램 디렉토리 생성 가능성이 높습니다 :

    build/exploded-app 
    
    +1

    올해의 남자 : @ anonymous4444! 나는이 때문에 과거의 모든 머리카락을 거의 잃어 버렸습니다. 정말 고맙습니다. 따라서 Google에서는 설명서가 잘못되었습니다. – LuckyLuke

    +1

    대단해! 이걸 듣고 나니 정말 기뻐. 관심이 없으면 WAR 구조 폴더 대신'.war' 파일을 사용하도록 참조한 문서 페이지를 연결할 수 있습니까? (추신 - 바운티 plox 보내십시오) – Nick

    +1

    당신은 현상금을 얻을 것이다 (나는 당신에게 그것을 줄 수 있기 전에 나는 12 시간을 기다려야한다). 예; https://cloud.google.com/tools/repo/push-to-deploy 검색 :'gcloud --project = 미리보기 앱 배포 대상/*. 전쟁 ' – LuckyLuke

    관련 문제