2010-10-03 75 views
34

App Engine版本号如何工作?它们只是整数吗?我可以使用浮游物吗?我可以重复使用旧版本号吗?Google App Engine版本号?

+0

通过错误信息,它必须匹配表达式'^(?:^(?! - )[a-z \ d \ - ] {0,62} [a-z \ d] $)$'。如果我正确读取正则表达式,这意味着它可以包含小写字母,数字和连字符,长度为1到63个字符,并且不以连字符开头。所以你不能使用像1.1这样的浮点数,但是你可以使用1a,1b ...或者1-1,1-2 ....并且你可以重用旧的版本号,这只是意味着你会覆盖旧的版本号版本而不是覆盖最新版本。 – ShreevatsaR 2013-11-06 06:14:44

回答

47

从手册:

http://code.google.com/appengine/docs/python/config/appconfig.html#Required_Elements

一个版本指定符为 应用程序代码。 App Engine将为每个使用的 版本保留一份 副本。管理员可以使用 管理控制台更改 应用程序的哪个主要版本默认使用 默认版本,并且可以在 默认版本之前测试 非默认版本。版本说明符 可以包含字母,数字和 连字符。

应用程序的每个版本保留 自己的app.yaml副本。上传 应用程序时,上传的app.yaml文件中提到的 版本为 上传的版本是 创建或替换为上传的版本。

+0

@Henrik P. Hessel的:你的回答仍然具有一定的价值,但。至少使用整数加前缀使排序更容易进行自己的管理:) – Wolph 2010-10-03 01:18:09

+0

我从未在GAE上使用除整数之外的其他任何内容。使用A,B,C等(甚至是字符串)只是感觉不自然。 – 2010-10-03 01:19:56

+2

请注意,如果使用字母,它们必须是小写字母。例如,资本“X”的版本将失败,此消息: '无法分配值“X”的属性“版本”: 值“X”的版本不匹配表达式“^(?:^(?! - )[az \ d \ - ] {0,62} [az \ d] $)$'' – ocarlsen 2013-04-16 23:38:23

4

当您推送新版本时,您可以增加它。请参阅下面的参考。

当你建立的 一个已经在App Engine上运行 应用新的主要版本,你可以上传新 发布的新版本。旧版本 将继续为用户 服务,直到您切换到新版本。 您可以在App 引擎上测试新版本,而旧版本仍然在运行 。

编辑:没有删除我的答案,因为它有一些很好的评论。

+1

这是不正确的。您可以在版本中使用字母,数字和连字符。不需要整数。 – Wolph 2010-10-03 01:11:04

+1

对于SVN中的GAE应用程序,我使用存储库修订版号。如果我使用git,我想我会使用一个校验和,在这种情况下,我会将它与您建议的一样加前缀,每个上传的版本都会增加一个整数。 – 2010-10-03 01:53:46

+0

即使推出新版本与新版本,然后手动关闭所有旧的情况下,由于某种原因,应用程序引擎后一直重现老版本 – MobileMon 2015-02-05 12:54:18

7

为了访问一个版本以外的其他您的应用程序的非默认,加#。之前,你的应用程序的网址如下所示:https://stackoverflow.com/a/8549546/129202 这对测试新版本之前,让他们生活很有用。

如果应用程序的版本号为2和您的应用程序的网址是appname.appspot.com 那么URL 2.appname.appspot.com会给你访问 您的应用程序的版本2。

+3

请注意谷歌已经改变了版本化URL的工作方式。你应该使用'2-dot-appname.appspot.com',否则你会得到一个安全警告。 – Eran 2015-01-01 16:28:54

+0

看来即使你删除了你的应用程序的版本1,它也不会将默认网址分配给版本2。 – Soundararajan 2015-04-03 07:39:15