Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Gradle运行/部署Google AppEngine管理的虚拟机_Java_Google App Engine_Gradle_Google Cloud Endpoints_Gcloud - Fatal编程技术网

Java 如何使用Gradle运行/部署Google AppEngine管理的虚拟机

Java 如何使用Gradle运行/部署Google AppEngine管理的虚拟机,java,google-app-engine,gradle,google-cloud-endpoints,gcloud,Java,Google App Engine,Gradle,Google Cloud Endpoints,Gcloud,我推送、运行和测试了一个托管VM,并将自定义运行时作为AppEngine应用程序。现在我想让它成为多模块的,默认模块是配置为与Android一起工作的Google云端点。因此,我使用Gradle作为构建系统 现在,我注意到谷歌已经在gradle appengine插件中对gcloud预览应用程序的运行/部署做出了一些初步承诺: 如何使用此扩展?我会像这样在build.gradle中添加一个部分吗 appengine { endpoints { getClientLibs

我推送、运行和测试了一个托管VM,并将自定义运行时作为AppEngine应用程序。现在我想让它成为多模块的,默认模块是配置为与Android一起工作的Google云端点。因此,我使用Gradle作为构建系统

现在,我注意到谷歌已经在gradle appengine插件中对gcloud预览应用程序的运行/部署做出了一些初步承诺:

如何使用此扩展?我会像这样在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?
        }

    }
}
还是我完全错了

请指导我如何使用这个


另外,具体来说,如何为一个不基于标准java运行时的“自定义vm”设置build.gradle规则?(因为我不能将app.yaml和Dockerfile打包到war文件夹中)

我现在要避免这种情况,插件的gcloud部分仍在开发中。至于“server”标志,从中,您实际上不需要指定它

不过,您可以尝试两个选项来运行部署:

  • 现在直接使用gcloud(从命令行)

  • 您可以尝试Gradle中的Exec任务来调用您的gcloud,您可以通过执行
    AppEnginePlugin.getExplodedAppDirectory(project).absolute path

  • 您必须将添加到构建文件中才能将其钩住。可能是这样的:

    build.gradle

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

    我是否必须将其添加到每个模块的build.gradle文件或ear模块的build.gradle文件中?如果是这样,我将如何同时运行/部署这两个war模块?我认为这不适用于EAR部署,因为gcloud与语言无关,EAR是java构造。您可能必须将其放在每个模块中,并正确配置args。如果你把它们都命名为相同的名称,它将在每个定义了它的模块上运行。好的。我想我会一直坚持下去直到我知道什么是正确的论点。我将在命令行运行并注释/接受后对其进行测试。谢谢