2012-02-08 18 views
7

Sono curioso di sapere in che modo altri sviluppatori si occupano della versione delle app Web e della distribuzione di versioni diverse. Il problema fondamentale è che qualcuno potrebbe usare la tua app Web quando si distribuisce una nuova versione, a quel punto Javascript ecc. Non hanno lui lato client non aggiornato.Distribuzione di app Web e più versioni

Versioning dei media sul lato client è abbastanza facile, ma se la versione che è anche necessario per la versione la logica di business e il database, che è dove le cose potrebbero ottenere disordinato ...

Così vedo un paio di modi per gestire questo:

  1. Visualizzare una notifica "Aggiornamento" sul sito quando si distribuisce una nuova versione.

  2. Versione tag client-side e rifiuto di eventuali sottomissioni alla nuova versione da vecchie origini lato client. Abbastanza giusto, ma non va di pari passo con il dispiegamento continuo.

  3. Migrazione di DB continui: esecuzione di più versioni dell'app contemporaneamente (migrazione degli utenti alla nuova versione quando possibile). Ciò richiederebbe che gli aggiornamenti sul vecchio schema DB venissero "inoltrati" al nuovo schema. Sembra il più attraente per l'implementazione, ma potrebbe anche essere terribilmente complesso.

  4. Da qualche parte nel mezzo di tutti e tre.

Vorrei sottolineare che io conosco preoccuparsi di questo genere di cose va oltre le esigenze della maggior parte delle applicazioni, ma stavo pensando a questo proposito e sono curioso di sapere come gli altri fare con esso.

+0

Problema complesso. Leggi la risposta seguente: http://stackoverflow.com/questions/389169/best-practices-for-api-versioning –

+0

buona domanda – bhargav

risposta

-2

Ci sono molti strumenti disponibili per i vostri esatti requisiti. Come Phing e Phingistrano. Git rende anche semplice, ma non mostrerà le notifiche offline e la distribuzione del DB. Raccomando di non andare per la distribuzione automatica sul server live, utilizzare la distribuzione automatica su staging e la distribuzione manuale su live. Cerca anche l'integrazione continua su google e prova teamcity

Problemi correlati