2013-07-03 5 views
7

Wie richten Benutzer ihre Build-Konfigurationen ein, wenn sie Git und Git-Flow verwenden? Ich habe mehrere Aufgaben, die ich abschließen möchten:Build-Konfigurationen für Git-Fluss

  • Commit - kompilieren, führen statische Code-Analyse, Unit-Test, Paket
  • Integrationstest - run Integrationstests
  • Deploy Test - stellen Sie die App auf einem Test Umwelt
  • Funktionstest - laufen End-to-End-Funktionstests
  • Deploy QA - manuelle Pull in eine QA-Umgebung, die Rauchversuche läuft

Mit Master, entwickle, veröffentliche Feature Branches Ich bin gespannt wie die Leute sie in die Build Prozesse einbinden.

Antwort

2

zur Zeit angepasst? Wir haben

  • CI bauen
    • Der VCS Wurzel eine Zweig Spezifikation hat dass ich ncludes entwickeln, Funktion/*, Freigabe/*, Hotfix/* und Master
    • A VCS begehen Trigger für alle Branchen
    • Pull-Request Build-Funktion Zweige und Link Ergebnisse bauen und
    • Auto-Merge Master genehmigen -> Entwicklung
  • Release Notes bauen
    • Ein Snapshot auf CI Build-
    • Release Erzeugt Noten von Commits und begeht es
  • Deploy Dev bauen
    • Eine Momentaufnahme auf CI bauen
    • zweimal täglich bereitstellen Geplante
    • Nur entwickeln Zweig eingesetzt wird
  • Deploy UAT Bauen
    • Handbuch Schritt
    • Eine Momentaufnahme auf CI bauen
    • nur freigeben/*, Hotfix/* oder Master kann
  • Deploy prod
    • Handbuch Schritt
    • Ein Snapshot auf Deploy UAT eingesetzt werden zu UAT Build
    • Nur Master kann hier bereitgestellt werden (wenn Release oder hoftix geschlossen ist, muss Master zuerst für Rauchtests in UAT bereitgestellt werden)

Auto Teamcity-Merge für Platzhalter erlaubt es nicht, so arbeiten wir an unsere eigene Methode Zweige synchron

  • Meister zu halten -> Entwicklung, Freigabe/*, Hotfix/*
  • entwickeln -> feature/*
+0

Ich mag den Prozess, den Sie in Ihrer Antwort erklärt haben. Der einzige Teil, den ich nicht verstehe, ist "Deployment to UAT Build", wenn Sie master -> develop automatisch zusammenführen.Warum sollte ich das tun, wenn der Build aus einem Release- oder Hotfix-Zweig erstellt wurde? Möchten Sie den Fertigstellungs-Hotfix/Release von gitflow nicht verwenden, wenn "Bereitstellen auf Prod" abgeschlossen ist, um sicherzustellen, dass die Produktion mit der Master-Verzweigung synchronisiert ist? –

+0

@AliB danke das ist an der falschen Stelle. Es ist tatsächlich Teil des CI-Builds für den Master-Zweig, d. H. Wenn ein Hotfix oder Release geschlossen und zusammengeführt wird. Ich habe meine Antwort aktualisiert – JonSquared

+0

@JohSquared, ich denke immer noch, dass Sie Master zusammenführen müssen, um zu entwickeln, wenn Sie in Prod Build Config Deploy sind. Master-Zweig muss ein Spiegel-Code dessen sein, was Sie in der Produktion haben, und wenn Sie ihn früher zusammenführen, würden Ihr Master-Zweig und Prod nicht mehr synchron laufen. Das Erstellen von Hotfixes wird zu einem Problem, wenn Sie es benötigen. –

Verwandte Themen