Trunk-basierte Entwicklung verwenden
Mit Ihren Schulungsskripts und Auftragsdefinitionen in der Quellcodeverwaltung besteht die nächste Herausforderung darin, sie zu schützen. Zwei Datenwissenschaftler, die dieselbe Datei auf der main Verzweigung gleichzeitig bearbeiten, können Konflikte verursachen und, wichtiger, versehentliche Unterbrechungen im Code, von denen andere abhängen. Die trunkbasierte Entwicklung bietet Ihrem Team eine strukturierte Möglichkeit, das Modell zu entwickeln und gleichzeitig den Produktionscode stabil zu halten.
Halten Sie den gemeinsamen Branch stabil
In der trunkbasierten Entwicklung integrieren Mitwirkende Änderungen in eine freigegebene Verzweigung, in der Regel main. Teams halten diesen Zweig fehlerfrei, sodass es ein zuverlässiger Ausgangspunkt für neue Arbeit bleibt.
Für das Proseware-Projekt erfordert das Team Änderungen, die durch Pullanforderungen erreicht main werden können. Diese Richtlinie bietet Prüfern und automatisierten Prüfungen die Möglichkeit, jede Änderung vor der Integration zu bewerten.
Kurzlebige Featureverzweigungen
Wenn ein Datenwissenschaftler mit einem neuen Feature experimentieren möchte , z. B. durch Hinzufügen einer BMI-Variable zum Diabetesmodell , erstellen sie eine kurzlebige Verzweigung von main. Die Arbeit erfolgt dort, isoliert vom Code aller anderen Personen. Wenn das Experiment zur Überprüfung bereit ist, öffnet der Datenwissenschaftler eine Pull-Anforderung.
Kurzlebige Branches verringern die Wahrscheinlichkeit, sich weit von main zu entfernen, wodurch das Zusammenführen einfacher und die Konflikte geringer werden.
Pull Requests, Überprüfungen und erforderliche Überprüfungen
Eine Pullanforderung führt zwei Dinge aus: Es zeigt Prüfer genau an, was sich geändert hat, und es wird zum Auslöserpunkt für automatisierte Prüfungen. Prüfer können Fragen stellen, Änderungen anfordern oder die Arbeit genehmigen. Die Automatisierung wird parallel zur Überprüfung ausgeführt.
Verzweigungsschutzregeln oder Rulesets können diesen Prozess erzwingen. Je nach Repository-Einstellungen kann eine Regel für main:
- Direkte Pushes einschränken
- Eine Mindestanzahl von Freigaben vor dem Zusammenführen erforderlich machen
- Festlegen bestimmter Statusüberprüfungen vor dem Zusammenführen
GitHub Actions Workflows können die Überprüfungen erzeugen, die eine Regel erfordert. Sie erkunden diese Prüfungen in der nächsten Einheit.
Hinweis
Regeln zum Schutz von Branches und Regelsätze sind GitHub-Repository-Einstellungen, nicht GitHub Actions. Der Workflow definiert , was ausgeführt wird. Die Schutzregel entscheidet, ob eine Zusammenführung basierend auf dem Ergebnis zulässig ist.
Tip
Berücksichtigen Sie eine Modelländerung, die mehrere Wochen Arbeit benötigt. Wie könnten Sie es in kleinere Änderungen aufteilen, die in main gemergt werden können, ohne einen langlebigen Branch zu hinterlassen?