2010-10-03 132 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