Strategia di aggiornamento per un framework software una volta che è stato distribuito

4

Devo aggiornare un framework software una volta che è stato distribuito.

Il framework che stiamo creando è composto da librerie .NET 4.0 (in Visual Studio). Questo insieme comune di librerie di codici sarà disponibile per 2 servizi Windows .NET, un'applicazione .NET autonoma e un sito Web .NET MVC 4. (I servizi verranno eseguiti su un singolo server e l'applicazione standalone verrà utilizzata da pochi individui selezionati.)

Siamo nelle prime fasi del progetto e le grandi domande che sono emerse sono:

  • Cosa succede quando dobbiamo apportare una modifica a uno o più dei file framework?
  • In che modo distribuiamo patch e / o aggiornamenti per ogni parte che si basa sul framework?
  • Quali considerazioni possiamo fare in anticipo per semplificare il processo di aggiornamento / patch in un secondo momento?

Questa è la prima volta che il nostro piccolo team ha affrontato un problema come questo e non siamo sicuri di quali siano le migliori pratiche.

modifica

Abbiamo 4 pezzi software che si basano sul framework: 2 servizi, 1 app, 1 sito web. Quando tutto questo arriva alla produzione, ci sono già aggiornamenti e aggiornamenti pianificati. Gli aggiornamenti richiedono modifiche ai file framework e ai programmi. La mia domanda era intesa per riferirsi a quel processo successivo di ridistribuzione degli aggiornamenti. Una volta che siamo in produzione e abbiamo codificato gli aggiornamenti / aggiornamenti per i file framework, le applicazioni e il sito Web, la distribuzione di tali aggiornamenti dovrà avvenire il più rapidamente possibile. Che cosa dobbiamo fare per semplificare tale processo?

    
posta jwatts1980 10.09.2013 - 21:36
fonte

2 risposte

4

Modificato per riflettere i commenti:

Per lo sviluppo vuoi Nuget ...

Puoi eseguire facilmente il tuo repository nuget (può essere una cartella, TeamCity ne ha una integrata, ecc.)

Costruisci le librerie con suite di test autonome, usa versioni semantiche, aggiorna e distribuisci a piacimento - semiper ei sistemi di nuget ti daranno un controllo sufficiente per evitare gli aggiornamenti che desideri rimandare a una determinata applicazione.

Il resto blocca le buone pratiche standard - automatizzare le implementazioni in anticipo (idealmente essere in grado di far ruotare automaticamente lo stato desiderato per i server), eseguire un server di build, test automatizzati a molti livelli ... dovrebbe quindi tutto "solo lavoro "(-:

Quindi - i seguenti commenti: la chiave sopra è automatizza le implementazioni . Per i siti Web, in genere non è particolarmente difficile, ci sono una grande varietà di opzioni (ho avuto successo con WebDeploy ma i miei bisogni non sono complessi). Per le applicazioni puoi guardare ClickOnce o le variazioni su di esso (o in cose come le app di Windows Store orientate agli aggiornamenti automatici). i servizi sono probabilmente i più difficili da automatizzare per la distribuzione, ma di nuovo c'è spazio all'interno di MSDeploy e di altri sistemi. L'altro grosso problema tende ad essere schemi di database - ma le migrazioni (questa è la parola chiave!) Possono essere automatizzate, quindi non è un fermo di scena e se si avvia sulla base del fatto che le modifiche dello schema sono automatizzate, si avrà un livello elevato di la fiducia in ogni istanza data di quello schema è quello che ci si aspetta che sia.

Più sei in grado di automatizzare i processi di implementazione in anticipo, meno stressante è l'intero processo (perché è banale impostare un ambiente test / qa / staging), specialmente se ti ricordi di testare regolarmente entrambi distribuzioni e aggiornamenti puliti.

Ancora una volta devo confessare di essere in qualche modo da questo stato felice per alcune delle cose che mi prendo cura - ma questo è un po 'il motivo per cui capisco l'opportunità di arrivarci.

    
risposta data 10.09.2013 - 22:29
fonte
2

Per la produzione si desidera utilizzare il programma di installazione di Windows - MSI - file.

Una volta installato correttamente, puoi usare il file di installazione della patch per aggiornare (file msp).

Il sito di Windows Installer ha un mucchio di informazioni su patching e aggiornamento .

Vorrei utilizzare Wix per creare i file di installazione in primo luogo.

    
risposta data 11.09.2013 - 11:53
fonte

Leggi altre domande sui tag