【发布时间】:2017-06-04 13:09:46
【问题描述】:
我正在按照 Google 应用引擎标准部署应用。这是一个 Java/Kotlin 应用程序,但问题不一定特定于此。我正在使用最新的 Gradle 插件,答案可能是特定的。
就像这些年来一样,我指定了一个项目 ID,比如 MyProject,以及一个版本号/字符串,比如 1-2-0。这两条信息在历史上都会进入appengine-web.xml 文件(app.yaml 用于 Python)。它们仍然可以在那里设置,但随后会被忽略,正如部署过程所指出的那样。
现在必须将项目 ID MyProject 指定为通用 glcoud 命令行界面配置的一部分(可以通过 gcloud config configurations list 查看)。 Gradle 插件似乎可以从那里得到它。
对于版本 1-2-0,但是,我不知道在哪里以及如何设置它。因此,在部署时,我总是会得到一个新的默认值,例如 20170604t124930,以及许多冗余的应用程序版本。
对于我使用 appcfg(或者它是 glcoud 命令?)部署的先前 Python 应用程序,我将项目 ID 和版本都指定为命令行参数。 Gradle 插件必须在其他地方找到(或未找到)此信息。 Gradle 文件的version = '1.2.0-SNAPSHOT' 当然只是用于生成的jar/war。网络上的许多建议、Google 官方文档 (!) 和此站点 like here 都已过时、相互矛盾或两者兼而有之(因此,请原谅我的冗长而详细的帖子)。谢谢!
【问题讨论】:
-
你试过发布非快照版本来看看吗?
-
您的问题听起来像是最终的解决方案:如何发布非快照版本? (看来我想发布一个“非快照”版本。这是我前段时间在某处读到的内容,但现在找不到了。)无论如何,感谢您查看我的问题!跨度>
-
您从版本末尾删除了
-SNAPSHOT,因此最终应用不再是快照版本。version = '1.2.0-SNAPSHOT'变为version = '1.2.0' -
好的,为了确定,我试过了。但这只是 jar/war 文件的版本。我说的是应用引擎自动分配给上传的类似快照的版本号/字符串,不出所料,它不受更改的影响。
标签: java google-app-engine gradle