Come impedire la distribuzione accidentale di una filiale nell'ambito di un processo di distribuzione legacy?

4

Al momento abbiamo un ramo di funzionalità in fase di sviluppo che non deve essere distribuito in produzione. Al momento non c'è nulla che possa impedire un simile errore.

La distribuzione avviene manualmente al momento (esportazione SVN + FTP alla produzione). La migrazione a un modello migliore è pianificata ma non disponibile a breve termine.

Ora, quando lavori su un ramo localmente, quindi esporta e carica i file, è molto facile distribuire accidentalmente il ramo sbagliato.

Quali sono alcuni modi semplici e leggeri per prevenire implementazioni accidentali? Saremo anche felici di evitare l'esecuzione accidentale di codice. I tempi di inattività sono molto più accettabili rispetto all'esecuzione del codice filiali delle funzionalità. Quindi sarebbe giusto che l'app si rifiuti di lavorare in produzione. Questo dovrebbe essere notato subito.

    
posta boot4life 30.08.2015 - 13:29
fonte

1 risposta

4

Deployment happens manually at the moment (SVN export + FTP to production). Migration to a better model is planned but not available in the short term.

Non so quale "modello migliore" tu abbia in mente, ma sembra che tu pensi a qualcosa che è così complicato che non puoi implementarlo da solo in una o due ore. Perché non metti semplicemente le istruzioni di esportazione SVN + FTP che fai attualmente manualmente in un semplice script di shell? SVN e FTP sono disponibili come strumenti da riga di comando per ogni sistema operativo che conosco. Devi solo preoccuparti di queste due cose:

  • assicurati che lo script di distribuzione esporti solo dal trunk, ma non dal ramo della funzione.

  • assicurati che nessuno nel tuo team provi a distribuire manualmente, solo da quello script.

Questo non solo risolve il problema attuale, ma rende anche la distribuzione più fluida e meno soggetta a errori quando non ci sono feature branch.

    
risposta data 30.08.2015 - 14:58
fonte

Leggi altre domande sui tag