Ich versuche einen Workflow für den Wechsel zwischen verschiedenen Arbeitsumgebungen in einem Projekt einzurichten. Alle diese drei Bereiche sind ihre eigenen separaten Ordner (sie sind Websites) und ich möchte in der Lage sein, auf der Entwicklungszeitachse zu arbeiten, bis ich für QA-Tests bereit bin, und dann meine Version auf eine QA-Zeitachse schieben. Sobald die QS fertig ist, möchte ich das zur allgemeinen Verwendung in Produktion bringen. Alle Zeitleisten haben ihren eigenen separaten Ordner, da es sich um Websites handelt. Ich habe ein Bild in Visio gezeichnet, um den Workflow zu illustrieren, den ich in meinem Kopf habe. Benutzt ich Unterbäume, nach denen ich suche? oder gibt es einen besseren Weg, dies zu tun? Vielen Dank! Hinweis: Ich führe Windows Server 2012 R2, IIS 8 mit, Entwicklung, Test und Produktion ihre eigenen einzigartigen Websites jetzt mit ihrer eigenen Datenbankserverinstanz und FTP-Server.Sind Teilbäume der Workflow, den ich suche?
Antwort
Nur meine Erfahrung aus einer sehr kleinen Team Perspektive zu teilen. Unsere Produktions- und Testumgebung befindet sich im selben Hauptzweig, jedoch getrennt nach Branchenname (Master, qc) und Tag (master.01.date, qc.01.date usw.). Wir machen eine Menge von Rebase/Cherry-Pick/Merge-Dev-Commits zum Hauptzweig und veröffentlichen diese entsprechend auf Websites (QC/Produktion).
Dev A und B abzweigen irgendwo auf aktuellen oder früheren Produktions begehen.
Dev A getan, rebased zu Hauptzweig, veröffentlichen zu QC-Site und senden an QC-Team.
Dies funktioniert möglicherweise nicht für größere Team oder komplizieren Projekt. Aber das ist für uns einfach zu verstehen. Ich wünsche, dass wir Commits vor dem Zusammenführen zerquetschen, wir haben zu viele Commits imo, aber sie sind leichter zu verfolgen.
Dies ist eine interessante Möglichkeit, dies zu tun, danke! –
Kein Problem. Ich bin mir sicher, es ist nicht der beste Weg, nur teilen :) – Tek
Sie könnten einfach separate Filialen im Repo verwenden und jeden Ordner den Repo klonen und den entsprechenden Zweig auschecken. Dadurch können Sie ganz einfach zusammenführen und verzweigen, je nach Bedarf (abhängig davon, wie die Historie aussehen soll oder nicht); von dem, was Sie beschrieben haben, möchten Sie ohne Rebasing fusionieren, denn dann haben Sie nur einen Commit, wie "mergen" QA in Produktion "statt alle QA-Commits einzufangen". Dies erfordert einen geringen Aufwand durch das .git-Verzeichnis in jedem Ordner, aber es scheint die Bequemlichkeit wert.
Es besteht auch die Möglichkeit, die falsche Verzweigung in einem Ordner auszuprobieren. Wenn Sie sich darüber Sorgen machen, können Sie stattdessen jeden Ordner zu einem eigenen, leeren (oder meist leeren) Repo machen, das Ihren eigentlichen Code als Submodul enthält. Dadurch können Sie den Ordner für einen bestimmten Commit (und damit für eine Verzweigung) sperren. Zum Beispiel könnten Sie nach dem Zusammenführen der QA in den Produktionszweig die Bindung des Produktionsreports an das Submodul für diesen neuen Commit vorrücken.
Es ist wahrscheinlich am besten, das Rosinenpicken zu vermeiden, da dies alle möglichen seltsamen Probleme verursachen kann und die Geschichte schwieriger zu folgen macht.
Ich denke, ich habe eine wichtige Funktion, die ich suche, die dies durcheinander bringen könnte. Unser aktueller Workflow von github zwingt uns, mit github zu synchronisieren, aber auch unsere Dateien auf unseren Server zu übertragen, um die Änderungen zu sehen. Ich versuche, das in eins zu kombinieren. Wo wir unsere Änderungen mit einem Git-Server synchronisieren, wird dieser bestimmte Umgebungsordner automatisch automatisch aktualisiert. –
@ AndréFecteau Ah ok. In diesem Fall würde ich immer noch mehrere Zweige in git vorschlagen, aber ein Skript zu ftp-Änderungen hinzufügen, wenn es eine Zusammenführung "up" gibt (dh von QA zur Produktion, aber nicht umgekehrt). – Andrew
- 1. verhindern ttk :: treeview von der Auswahl auf den Ausbau/Teilbäume
- 2. Wie kann ich die Git-Teilbäume auf der Wurzel auflisten?
- 3. PHPs XMLReader überspringt Teilbäume
- 4. SharePoint-Workflow: Wie aktualisiere ich den Artikel, ohne den Workflow erneut auszulösen?
- 5. Kann ich den Bonita Workflow überspringen?
- 6. Kann ich den Veröffentlichungsseitengenehmiger und den Seitenstatus im Workflow abrufen?
- 7. Design-Muster für den Workflow
- 8. den Workflow, indem Sie Benutzerkonto
- 9. Einfügen von Teilbäume an einen Baumknoten
- 10. Wie erhalte ich Daten aus einem Workflow für Zustandsautomaten, bevor der Workflow in den abgeschlossenen Zustand übergeht?
- 11. Ich kann den Workflow dieses Codes nicht verstehen
- 12. Erhalten Sie alle Teilbäume in Wert
- 13. Servicenow Warum kann ich den Workflow eines Katalogeintrags nicht ändern?
- 14. Wie verwalte ich den Content-Workflow für die Hexo-Site?
- 15. Windows-Workflow: "Singleton" -Style-Workflow?
- 16. Suche nach einem einfachen Workflow-Setup für Clojure/boot
- 17. Suche nach der Reihenfolge, in der die Kontrollkästchen aktiviert sind
- 18. Wordpress Suche sind alle Schlüsselwörter
- 19. InvokeWorkflowActivity ruft den Workflow nicht auf
- 20. Sind Windows Workflow Foundation-StateMachines für Hochleistungs- Szenarien geeignet?
- 21. Verhindern beobachtbaren Freigabe für bestimmte Teilbäume in Haskell
- 22. Was ist DependancyProperty für den SharePoint-Workflow?
- 23. Workflow-System
- 24. Windows Workflow - Verwendung auf der eCommerce Site?
- 25. entfernen. von den Ergebnissen der Suche
- 26. Sub-Workflow im Haupt-Workflow verwenden
- 27. Monatliche Rechnung Zahlung Workflow
- 28. Suche nach Zellen in der Tabelle, die nicht leer sind
- 29. Workflow-Framework für Android-Aktivitäten
- 30. Was sind einige Alternativen zu einer Workflow Engine?
Das Verzweigungsmodell von Git Flow kann an Ihren Anwendungsfall angepasst werden: http://nvie.com/posts/a-successful-git-branching-model/ – bcmcfc
@bcmcfc Dies scheint das zu sein, wonach ich suche, nachdem ich mehr getan habe hineinlesen. Vor allem basierend auf dieser Infografik: http://danielkummer.github.io/git-flow-cheatsheet/ danke für Ihre Hilfe! –