File di installazione facilmente accessibili per l'installazione

5

Il prodotto software su cui lavoro ha diversi servizi e interfacce utente. Ci sono file di installazione separati per ogni unità del prodotto per l'installazione. Ogni giorno apportiamo modifiche specifiche ai clienti e correzioni di errori. Abbiamo bisogno di memorizzare una versione separata per ogni cliente.

Recentemente, abbiamo commesso l'errore di installare la versione errata del prodotto a diversi clienti. Abbiamo un team di sviluppo che utilizza github per il controllo della versione e un team di assistenza tecnica, che installa il prodotto e fornisce assistenza ai clienti.

Sono parte del team di sviluppatori e desideriamo che il nostro team di assistenza clienti abbia un facile accesso alle impostazioni recenti e alle impostazioni specifiche del cliente. Attualmente, chiedono allo sviluppatore responsabile i file di installazione.

Come possiamo organizzare e archiviare i nostri pacchetti di installazione correttamente per evitare di commettere errori?

    
posta user2191454 24.03.2016 - 14:30
fonte

4 risposte

2

Le installazioni sono più facili da gestire se puoi automatizzarle il più possibile. Invece di affidarsi a una sorta di strategia organizzativa per distribuire versioni diverse a clienti specifici, automatizza questo processo.

I programmatori dovrebbero creare una sorta di app in cui viene selezionato un cliente e quindi la loro build identificata e, se possibile, distribuita.

Mi rendo conto che è più facile a dirsi che a farsi. Le persone stanno facendo errori, quindi cerca di limitare il loro coinvolgimento.

Potresti includere nelle build anche un determinato identificativo cliente nella loro app. Qualsiasi aggiornamento o installazione dovrebbe contenere lo stesso identificatore o l'aggiornamento non viene eseguito. Questo potrebbe essere semplice come un GUID in un file di testo sul proprio sistema.

Se stai facendo molti aggiornamenti su base regolare per molti clienti, l'automazione ti darà un grande vantaggio rispetto alla concorrenza. Questo non è facile, motivo per cui molte aziende evitano le personalizzazioni del cliente se possibile.

    
risposta data 24.03.2016 - 14:37
fonte
2

Presumo che tu abbia un prodotto di base, con alcune personalizzazioni.

Un'introduzione per un cliente specifico sarebbe quindi: tirare il prodotto base da git estrae e applica la personalizzazione da git per il cliente specificato test nel tuo ambiente di test.

Quanto sopra dovrebbe essere automatizzato, quindi una volta superato il test, premere il tasto installare su un server a cui il team dei servizi tecnici ha accesso. Chiedere a quel server di stampare etichette di spedizione o generare URL per il cliente download. Ora il team dei servizi tecnici interagisce con il server da selezionare per un cliente specifico.

Ora hai preso la più grande causa di errori, la separazione tra gli sviluppatori e il team di servizio.

    
risposta data 06.04.2016 - 20:27
fonte
1

Ecco come ci penso, quando si tratta delle distribuzioni di software.

  1. File eseguibili dell'applicazione
  2. Configurazione strutturale e impostazioni predefinite
  3. Configurazione del sito
  4. Dati specifici dell'utente

A mio parere, solo gli eseguibili dell'applicazione e la configurazione strutturale devono essere gestiti all'interno dell'installer, che può quindi essere distribuito su tutti i siti.

Purtroppo, Microsoft tende a incoraggiare e / o costringere gli sviluppatori a mescolare queste impostazioni con lo stesso file app.config o web.config.

Se fornisci software come servizio ai tuoi clienti, con installazioni separate, considera l'utilizzo di puppet per gestire le impostazioni di distribuzione e configurazione.

    
risposta data 06.04.2016 - 21:54
fonte
1

Per rendere disponibili gli installatori al team di assistenza clienti:

Una semplice pagina Web che fornisce a tutti gli installatori per loro il download e la trasmissione ai clienti.

Per impedire ai clienti di installare l'applicazione di un altro cliente:

Potresti utilizzare una semplice chiave basata sul cliente per accedere all'installer o nella schermata iniziale dell'app. La chiave non deve essere complessa, ma solo univoca per ogni cliente che deve fungere da assegno per assicurarsi che abbia la versione giusta.

    
risposta data 08.04.2016 - 17:44
fonte

Leggi altre domande sui tag