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
Bei der trunkbasierten Entwicklung integrieren Mitwirkende Änderungen in einen freigegebenen Branch, 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, dass Änderungen main über Pull Requests erreichen. Diese Richtlinie bietet Prüfern und automatisierten Prüfungen die Möglichkeit, jede Änderung vor der Integration zu bewerten.
Kurzlebige Featurebranches
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, Bewertungen 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
- Spezifische Statusüberprüfungen müssen vor dem Zusammenführen bestanden werden.
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
Stellen Sie sich eine Modelländerung vor, die mehrere Wochen Arbeit benötigt. Wie könnten Sie sie in kleinere Änderungen aufteilen, die in main zusammengeführt werden können, ohne einen langlebigen Branch zu hinterlassen?