2013-07-03 15 views
7

W jaki sposób ludzie konfigurują konfiguracje kompilacji podczas korzystania z Git i Git-flow? Mam kilka zadań Chcę zakończyć:Konfiguracje kompilacji dla Git Flow

  • Commit - skompilować, uruchomić statycznej analizy kodu, testów jednostkowych, pakiet
  • test Integracja - uruchomić testy integracyjne
  • Deploy do testu - wdrożyć aplikację do testu środowisko
  • test funkcjonalny - uruchomić end-to-end testy funkcjonalne
  • wdrażania na QA - instrukcja ciągnąć w środowisku QA, który uruchamia testy dymne

Z mistrzem, opracowuj, zwalniaj gałęzie funkcjonalne Ciekawe, jak ludzie mapują je do procesów budowania.

Odpowiedz

2

Mamy

  • CI Budowanie
    • VCS Korzeń posiada specyfikację oddział że ja ncludes rozwijać, funkcja/*, uwolnienie/*, poprawka/* i mistrz
    • VCS popełnić spust dla wszystkich gałęzi
    • Pull gałęzie fabularne prośba budować i związek budować wyniki i zatwierdza
    • automatycznego scalania mistrza -> Develop
  • Informacje o wersji budować
    • migawka na CI Budowanie
    • Generuje informacje o wersji z zatwierdzeń i zobowiązuje go
  • Deploy do Dev Budowanie
    • Migawka na CI Budowanie
    • Planowana wdrożyć dwa razy dziennie
    • Tylko rozwijać gałąź jest wdrożony
  • Deploy do UAT Budowanie
    • Krok ręczny
    • Migawka na CI Budowanie
    • Tylko zwolnij/*, poprawka/* lub master może zostać wdrożony do UAT
  • Deploy do prod
    • Instrukcja krok
    • migawkę na Deploy do UAT Build
    • Tylko master może być wdrożony tutaj (kiedy zwolnienie lub hoftix jest zamknięty master musi być najpierw wdrożony w UAT do testów dymu)

TeamCity auto seryjnej nie pozwala na symbole wieloznaczne, więc pracujemy nad własnym sposobem na utrzymanie oddziałów w synchronizacji

  • mistrza -> rozwijać, uwolnienie/*, poprawka/*
  • rozwijać -> funkcja/*
+0

Podoba mi się proces, który wyjaśniłeś w swojej odpowiedzi. Jedyną częścią, której nie rozumiem, jest "Wdrożenie do Budowania UAT", kiedy automatycznie scalasz wzorzec -> rozwijaj.Dlaczego miałbym to zrobić, gdyby kompilacja została wykonana z gałęzi wydania lub poprawki? Czy nie chcesz użyć poprawki/wydania gitflow po zakończeniu "Deploy to Prod", aby upewnić się, że produkcja jest zsynchronizowana z oddziałem master? –

+0

@AliB dzięki, że jest w niewłaściwym miejscu. W rzeczywistości jest to część kompilacji CI dla gałęzi głównej, tj. Gdy ta poprawka lub wydanie jest zamykane i łączone. Zaktualizowałem swoją odpowiedź: – JonSquared

+0

@JohSquared, wciąż myślę, że musisz scalić master, aby rozwinąć się, gdy jesteś w Deploy to Prod Build config. master branch musi być lustrzanym kodem tego, co masz w produkcji, a jeśli wcześniej go scalisz, twój master branch i Prod nie będą zsynchronizowane. Tworzenie poprawek staje się problemem, gdy jest to potrzebne. –

Powiązane problemy