1

我已將自定義運行時的託管虛擬機作爲AppEngine應用程序推送,運行和測試。現在我想讓它成爲多模塊,默認模塊是配置爲與Android配合使用的Google Cloud Endpoint。因此,我使用Gradle作爲我的構建系統。如何使用Gradle運行/部署Google AppEngine託管虛擬機

現在,我注意到,谷歌已經爲gcloud預覽應用程序運行一些初步提交/部署到gradle這個-AppEngine上 - 插件: https://github.com/GoogleCloudPlatform/gradle-appengine-plugin/commit/2e4a2b8abb7ec7905012f1f9c12adea7010a41b7

如何使用這個擴展?我是否像這樣向我的build.gradle添加了一個部分?

appengine { 
    endpoints { 
     getClientLibsOnBuild = true 
     getDiscoveryDocsOnBuild = true 
    } 
    gcloud { 
     project = 'projectId?' 
     app { 
      dockerHost = tcp://192.168.59.103:2376 
      version = 1.4.1 
      server = //What goes here? 
     } 

    } 
} 

或者我完全錯了嗎?

請指導我如何使用它。

此外,具體如何設置「自定義虛擬機」的build.gradle規則,它不是基於標準的Java運行時? (因爲我不能只打包一個app.yaml和Dockerfile到一個war文件夾中)

回答

2

我現在要避免這種情況,插件的gcloud部分仍在制定中。至於docs這個「服務器」標誌,你並不需要特別說明。

有兩個選項,你可以嘗試,雖然運行部署:

  1. 使用gcloud直接現在(命令行)。

  2. 你可以嘗試在搖籃的Exec的任務來調用到您的gcloud,您可以通過執行AppEnginePlugin.getExplodedAppDirectory(project).absolute path

你必須讓webapp目錄到Exec task添加到您的構建文件把它掛中它可能是這樣的:

的build.gradle

task gcloudExec1(type:Exec) { 
    commandline 'gcloud', 'preview', 'app', 'deploy' 
    args "--dockerHost=tcp:" 
    args "--version=1.4.1" 
    .... 
    args AppEnginePlugin.getExplodedAppDir(project).absolutepath 
} 
+0

我必須把它添加到每個MODU le的build.gradle文件,還是我的耳機模塊的build.gradle?如果是這樣,我將如何運行/部署兩個戰爭模塊在一起? – yaraju 2015-02-10 20:55:00

+0

我不認爲這將與EAR部署一起工作,因爲gcloud是語言不可知的,而EAR是Java構造。 您可能必須將其放入每個模塊並正確配置參數。 如果您將它們命名完全相同,它將在每個已定義的模塊上運行它。 – loosebazooka 2015-02-10 20:58:56

+0

好的。我想我被困在http://stackoverflow.com/questions/28441545/appengine-java-multi-modules-sample-error-on-gcloud-preview-app-run,直到我知道什麼是正確的參數。在我得到命令行工作和評論/接受後,我會對它進行測試。謝謝! – yaraju 2015-02-10 21:18:19