2010-10-03 30 views
34

Wie funktionieren die Versionsnummern der App Engine? Sind sie nur ganze Zahlen? Kann ich Floats benutzen? Kann ich alte Versionsnummern wiederverwenden?Google App Engine-Versionsnummern?

+0

Geht man von der Fehlermeldung aus, muss der Ausdruck '^ (?:^(?! -) [a-z \ d \ -] {0,62} [a-z \ d] $) $' übereinstimmen. Wenn ich die Regexp richtig lese, bedeutet das, dass sie Kleinbuchstaben, Ziffern und Bindestriche enthalten kann, 1 bis 63 Zeichen lang sein darf und nicht mit einem Bindestrich beginnen darf. Sie können also Floats wie 1.1 nicht verwenden, aber Sie können 1a, 1b ... oder 1-1, 1-2 ... verwenden. Und Sie können alte Versionsnummern wiederverwenden, es bedeutet nur, dass Sie das alte überschreiben Version statt die neueste Version zu überschreiben. – ShreevatsaR

Antwort

47

Aus dem Handbuch:

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

Eine Version Spezifizierer für den Anwendungscode. App Engine behält für jede verwendete Version eine Kopie Ihrer Anwendung bei. Ein Administrator kann ändern, welche Hauptversion der Anwendung ist Standard mit Administration Console, und kann nicht-Standard-Versionen testen, bevor sie sie Standard machen. Der Versionsbezeichner kann Buchstaben, Ziffern und Bindestriche enthalten.

Jede Version einer Anwendung behält eine eigene Kopie von app.yaml. Wenn eine Anwendung hochgeladen wird, ist die Version , die in der app.yaml-Datei mit der Nummer hochgeladen wird, die Version, die erstellt oder durch den Upload ersetzt.

+0

@Henrik P. Hessel neu: Ihre Antwort hat allerdings noch einige Vorteile. Eine kleine Vorsilbe mit ganzen Zahlen erleichtert das Sortieren für Ihre eigene Verwaltung :) – Wolph

+0

Ich habe nie etwas anderes als Ganzzahlen auf der GAE verwendet. Die Verwendung von A, B, C usw. (oder auch Strings) fühlt sich einfach nicht natürlich an. –

+2

Beachten Sie, dass bei Verwendung von Buchstaben Kleinbuchstaben verwendet werden müssen. Zum Beispiel wird die X-Version des Kapitals mit dieser Meldung fehlschlagen: 'Dem Attribut 'Version' kann kein Wert 'X' zugewiesen werden: Wert 'X' für Version stimmt nicht mit Ausdruck '^ (?:^(?! -) [az \ d \ -] {0,62} [az \ d] $) $ ' – ocarlsen

4

Sie können es erhöhen, wenn Sie eine neue Version drücken. Siehe unten als Referenz.

Wenn Sie eine neue Hauptversion von eine Anwendung erstellen, die bereits auf App Engine ausgeführt wird, können Sie die neue Release als eine neue Version hochladen. Die alte Version wird weiterhin Benutzer dienen, bis Sie zu der neuen Version wechseln. Sie können die neue Version auf App Engine testen, während die alte Version immer noch ausgeführt wird.

Bearbeitet: Habe meine Antwort nicht entfernt, weil es ein paar gute Kommentare dazu gibt.

+1

Das ist falsch. In der Version können Sie Buchstaben, Ziffern und Bindestriche verwenden. Keine Notwendigkeit für ganze Zahlen. – Wolph

+1

Für die GAE-App, die ich in SVN habe, verwende ich die Repository-Revisionsnummer. Wenn ich git verwende, würde ich wahrscheinlich eine Prüfsumme verwenden, in diesem Fall würde ich das mit dem vorschlagen, was Sie vorschlagen, eine Integerzahl, die für jede hochgeladene Version erhöht wird. –

+0

Auch nachdem wir eine neue Version mit einer neuen Version veröffentlicht und alle alten Instanzen manuell heruntergefahren haben, erstellt App Engine aus irgendeinem Grund die alte Version – MobileMon

7

Um auf eine andere als die Standardversion Ihrer App zuzugreifen, fügen Sie # hinzu. vor Ihrer App URL wie hier erklärt: https://stackoverflow.com/a/8549546/129202 Dies ist nützlich für das Testen neuer Versionen, bevor Sie sie leben.

Wenn die Version der App ist 2 und die App-URL ist appname.appspot.com dann wird URL 2.appname.appspot.com Sie 2 Zugriff auf die Version geben von Ihre App.

+3

Bitte beachten Sie, dass Google die Funktionsweise von versionierten URLs geändert hat. Sie sollten stattdessen '2-dot-appname.appspot.com' verwenden, sonst erhalten Sie eine Sicherheitswarnung. – Eran

+0

Es scheint, selbst wenn Sie die Version1 Ihrer App löschen, weist sie die Standard-URL nicht der Version 2 zu. – Soundararajan