Le migliori pratiche per la gestione della distribuzione del codice da dev ai server di produzione?

7

Spero di trovare uno strumento o un metodo semplice che consenta di gestire la distribuzione del codice.

Ecco le funzionalità che spero che questa soluzione abbia:

  1. Sia il file web che il file batch, che fornisce un elenco di file, comunicherà al nostro server di produzione, per eseguire il backup di tali file in cartelle diverse, e comprimerli e inserirli in una cartella di codici di backup.

  2. Quindi registra il nome, la data / ora e lo scopo della distribuzione.

  3. Quindi invia i file nel punto giusto sul server di produzione.

Non voglio un'interfaccia troppo complessa per eseguire la distribuzione perché in quel caso potrebbero non utilizzarla mai.

O è quello che sto chiedendo troppo irrealistico?

So solo che la mia autodisciplina non è perfetta, e preferirei avere uno strumento su cui fare affidamento per fare ciò che deve essere fatto, quindi il mio ricordo di quali passi esatti devo prendere ogni volta .

Come fate, assicuratevi che tutto venga distribuito correttamente e abbiate un facile rollback in caso di errori?

    
posta crosenblum 04.03.2011 - 15:47
fonte

3 risposte

2

Tutto questo può essere fatto da un file batch. Di seguito sono riportati i passaggi di base necessari per il file batch:

  1. Ottieni l'ora della data corrente in una variabile.
  2. Crea copie della directory di produzione in cartelle con l'ora corrente. Zip la cartella se vuoi.
  3. Replica la cartella di eliminazione del build nelle directory di produzione. Puoi anche saltare alcuni file che non vuoi sovrascrivere (come web.config). Sia xcopy che robocopy consentono di saltare i file.

Tranne il primo passo, gli altri due passaggi sono operazioni di riga di comando molto semplici. Per quanto riguarda il primo, il codice seguente mostra come ottenere una directory con data e ora:

for /f "tokens=1-3 delims=/ " %%A in ("%DATE%") DO (
  set DATESTR=%%C%%A%%B
)

for /f "tokens=1-3 delims=:." %%F in ("%TIME%") DO (
  set TIMESTR=%%F%%G%%H
)

set CURRENTDT=%DATESTR%T%TIMESTR%

:: now you can use the date time in a folder name:
xcopy /e \production1\site1 \backup\site1\backup-%CURRENTDT%\
    
risposta data 04.03.2011 - 17:24
fonte
1

Sembra un lavoro per Capistrano con Railsless-Deploy plugin.

    
risposta data 04.03.2011 - 15:50
fonte
0

Sono abbastanza sicuro che potresti farlo con TFS - se stai lavorando con lo stack di sviluppo MS

    
risposta data 04.03.2011 - 16:12
fonte

Leggi altre domande sui tag