2013-07-03 6 views
7

In che modo le persone configurano le configurazioni di build quando utilizzano Git e Git-flow? Ho diversi compiti che voglio portare a termine:Configurazioni di compilazione per Git Flow

  • Commit - compilare, eseguire l'analisi statica del codice, test di unità, pacchetto
  • Integrazione Test - test di integrazione eseguiti
  • Deploy per testare - distribuire l'applicazione per un test ambiente
  • test funzionale - correre end-to-end di test funzionali
  • Distribuzione di QA - trazione manuale in un ambiente di QA che esegue test di fumo

Con master, sviluppo, rilascio di feature branch Sono curioso di sapere come le persone li mappano nei processi di compilazione.

risposta

2

Al momento disponiamo di

  • CI costruire
    • Il VCS Root ha una specifica filiale che io è comprensivo di sviluppare, funzione/*, rilascio/*, hotfix/* e maestro
    • Un VCS commettere trigger per tutti i rami
    • Pull funzionalità richiesta Costruito rami e link costruire risultati e approvare
    • maestro Auto-merge -> sviluppano
  • Note di rilascio costruire
    • un'istantanea sul CI costruire
    • Genera note di rilascio da commit e lo commette
  • Deploy per Dev costruire
    • Un'istantanea sul CI Costruire
    • programmato per distribuire due volte al giorno
    • Solo sviluppare ramo viene distribuito
  • Deploy per SVS costruire
    • Passo manuale
    • Un'istantanea sul CI Costruire
    • Solo rilasciare/*, hotfix/* o master può essere distribuito a SVS
  • Deploy per spingere
    • passo Manuale
    • Un'istantanea su Deploy to UAT Build
    • Qui può essere distribuito solo il master (quando il rilascio o hoftix è chiuso, il master deve essere distribuito prima al test UAT per il test del fumo)

TeamCity auto-merge non consente caratteri jolly, quindi stiamo lavorando sul nostro proprio metodo per mantenere filiali in sincronia

  • maestro -> sviluppo, rilascio/*, hotfix/*
  • sviluppo -> funzione/*
+0

Mi piace il processo che hai spiegato nella risposta. L'unica parte che non capisco è "Distribuzione in build UAT" quando si esegue l'unione automatica di master -> sviluppo.Perché dovrei farlo se la compilazione è stata fatta da una release o da una hotfix? Non si desidera utilizzare l'aggiornamento/rilascio rapido di gitflow quando "Deploy to Prod" è completo per assicurarsi che la produzione sia sincronizzata con il ramo principale? –

+0

@AliB grazie che è nel posto sbagliato. In realtà fa parte della build CI per il ramo master, ad esempio quando una correzione o release viene chiusa e unita. Ho aggiornato la mia risposta – JonSquared

+0

@ JohSquared, penso ancora che sia necessario unire il master per svilupparlo quando ci si trova in Deploy alla config build di Prod. il master branch deve essere un codice mirror di ciò che hai in produzione e se lo unisci prima, il tuo branch master e Prod andrebbero fuori sincrono. La creazione di hotfix diventa un problema quando ne hai bisogno. –

Problemi correlati