|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Richtlinien
Vielen Dank, dass Sie sich die Zeit genommen haben, zur Rancher CAPI Erweiterung Projekte beizutragen.
Verbesserungen in allen Bereichen des Projekts; von Code über Dokumentation; von Fehlerberichten bis hin zu Funktionsdesign und UI-Verbesserungen sind herzlich willkommen. Dieser Leitfaden sollte alle Aspekte abdecken, wie man mit dem Projekt interagiert und wie man sich so reibungslos wie möglich an der Entwicklung beteiligt.
Dokumente zu lesen ist oft mühsam, also lassen Sie uns die wichtige Regel für Beiträge gleich an den Anfang stellen: Seien Sie immer freundlich!
Wir freuen uns darauf, Ihre Beiträge im Repository zu sehen!
Wie kann man sich beteiligen?
Wir würden uns freuen, Ihre Patches in nahezu allen Bereichen der Projektentwicklung zu akzeptieren!
Wenn Sie neu im Projekt sind und helfen möchten, aber nicht wissen, wo Sie anfangen sollen, finden Sie hier eine nicht erschöpfende Liste von Möglichkeiten, wie Sie helfen können:
-
Reichen Sie einen Pull Request ein
Neben der Behebung von Fehlern und der Einreichung neuer Funktionen gibt es auch andere Dinge, die Sie einreichen können, die zwar weniger auffällig sind, aber von allen, die mit dem Code arbeiten, sehr geschätzt werden:
-
Erweiterung der Testabdeckung!
-
Refactoring!
-
Überprüfung und Aktualisierung der Dokumentation!
-
Hinzufügen einer neuen UI-Funktionalität!
(Siehe auch Etwas auswählen, woran man arbeiten möchte unten.)
-
-
Öffnen Sie ein Issue
Wir haben 2 Arten von Issues: Fehlerberichte und Funktionsanfragen. Wenn Sie sich nicht sicher sind, welche Kategorie Sie benötigen, machen Sie einfach die beste Vermutung und geben Sie so viele Informationen wie möglich an.
-
Interessiert daran, zu helfen, zu verbessern:
-
Rancher CAPI Erweiterung Backend? Beteiligen Sie sich an
bugsoderhelp wantedIssues. Wenn Sie eine größere Herausforderung oder einen erfahreneren Mitwirkenden suchen, schauen Sie sichfeature requests. -
Erweiterungs-UI? Werfen Sie einen Blick auf
openoderhelp wantedIssues. -
Vielleicht Benutzer-Dokumentation? Dann springen Sie direkt zu
openIssues im Docs-Repository.
-
Issues eröffnen
Diese Leitfäden sollen Ihnen helfen, Issues so zu formulieren, dass sie so schnell wie möglich bearbeitet werden.
Siehe unten, wie Issues priorisiert werden.
Allgemeine Regeln:
-
Bevor Sie etwas eröffnen, schauen Sie sich die bestehenden Issues genau an.
-
Mehr ist mehr: Geben Sie so viele Informationen wie möglich an. Hochdetaillierte Issues werden eher aufgegriffen, da sie priorisiert und schneller für die Bearbeitung eingeplant werden können. Sie sind auch für die Community zugänglicher, was bedeutet, dass Sie möglicherweise nicht auf das Kernteam warten müssen, um sich darum zu kümmern.
-
Bitte eröffnen Sie kein Issue mit einer Beschreibung, die nur ein Link zu einem anderen Issue, ein Link zu einem Slack-Gespräch, ein Zitat aus einem dieser oder etwas anderes ist, das ebenso undurchsichtig ist. Dies erhöht die Hürde für den Einstieg und erschwert es der Community, sich zu beteiligen. Nehmen Sie sich die Zeit, eine ordentliche Beschreibung zu schreiben und die wichtigsten Punkte zusammenzufassen.
-
Achten Sie auf die Formatierung. Stellen Sie sicher, dass das Markdown ordentlich ist, verwenden Sie Codeblöcke usw. Je schneller etwas gelesen werden kann, desto schneller kann es bearbeitet werden.
-
Halten Sie es zivilisiert. Ja, es ist ärgerlich, wenn Dinge nicht funktionieren, aber es macht viel mehr Spaß, jemandem zu helfen, der nicht… der Schlimmste ist. Denken Sie daran, dass die Kommunikation über Text die Negativitätsverzerrung bei allen verstärkt, also fügen Sie bei Zweifeln ein paar Emojis hinzu.
PRs einreichen
Etwas auswählen, an dem man arbeiten möchte
Wenn Sie hier sind, um um Hilfe zu bitten oder ein neues Verhalten anzufordern, ist dies der Abschnitt für Sie. Wir haben eine Reihe von Issues zusammengestellt, für alle, die einfach ihren Open-Source-Ruf aufbauen möchten.
-
Issues, die mit
good first issuesgekennzeichnet sind, sollten für Personen, die neu in den Repos sind, sowie für Open Source im Allgemeinen zugänglich sein.Diese Issues sollten eine niedrige/nicht vorhandene Eintrittsbarriere mit einer gründlichen Beschreibung, einer leicht nachvollziehbaren Reproduktion (falls relevant) und genügend Kontext bieten, damit jeder sie aufgreifen kann. Das Ziel sollte klar sein, möglicherweise mit einem vorgeschlagenen Lösungsvorschlag oder etwas Pseudocode. Wenn etwas Ähnliches bereits getan wurde, sollte diese Arbeit verlinkt werden.
Wenn Sie auf ein mit
good first issuegekennzeichnetes Issue gestoßen sind, von dem Sie denken, dass Sie es beanspruchen möchten, es aber nicht zu 100 % klar ist, fragen Sie bitte nach weiteren Informationen! Wenn Menschen Issues schreiben, gibt es eine große Menge an angenommenem Wissen, das sehr oft als selbstverständlich angesehen wird. Das ist etwas, worin wir alle besser werden könnten, also seien Sie nicht schüchtern, nach dem zu fragen, was Sie brauchen, um großartige Arbeit zu leisten.Siehe mehr zu Hilfe anfordern unten!
-
help wantedProbleme sind für diejenigen, die etwas vertrauter mit dem Code sind, sollten aber dennoch für Neulinge zugänglich genug sein. -
Alle anderen mit
kind/<x>oderarea/<x>gekennzeichneten Probleme stehen ebenfalls zur Verfügung, erfordern jedoch wahrscheinlich einen fairen Kontext.
Entwicklung von Rancher Turtles
Schauen Sie sich die speziellen Hinweise zum Einstieg in die Entwicklung an.
Hilfe anfordern
Wenn Sie in irgendeiner Phase Ihrer Arbeit Hilfe benötigen, zögern Sie bitte nicht zu fragen!
-
Um mehr Details zu dem von Ihnen gewählten Problem zu erhalten, ist es eine gute Idee, zunächst die Person, die es erstellt hat, um weitere Informationen zu bitten.
-
Wenn Sie bei etwas Schwierigkeiten haben, während Sie an Ihrem PR arbeiten, oder sich über Ihren Ansatz nicht ganz sicher sind, können Sie einen Entwurf öffnen (setzen Sie den Titel mit
WIP:am Anfang) und erklären, was Sie denken.
Richtlinien zur Einreichung von PRs
-
Forken Sie das gewünschte Repo, entwickeln und testen Sie Ihre Codeänderungen.
-
Pushen Sie Ihre Änderungen in den Branch Ihres Forks und reichen Sie eine Pull-Anfrage an das ursprüngliche Repository gegen den
mainBranch ein.
git push <remote-name> <feature-name>
-
Reichen Sie eine Pull-Anfrage ein.
-
Alle Code-PRs müssen mit einem der folgenden Labels versehen sein
-
⚠️ (
:warning:, größere oder grundlegende Änderungen) -
✨ (
:sparkles:, Funktionshinzufügungen) -
🐛 (
:bug:, Patches und Fehlerbehebungen) -
📖 (
:book:, Dokumentation oder Vorschläge) -
🌱 (
:seedling:, kleinere oder andere)
-
-
Wo möglich, fassen Sie bitte Ihre Commits zusammen, um eine ordentliche und beschreibende Historie zu gewährleisten.
Wenn Ihre PR noch in Arbeit ist, öffnen Sie bitte eine Entwurf-PR und fügen Sie Ihrem Titel das Wort WIP voran. Wenn Ihre PR zur Überprüfung bereit ist, können Sie den Titel ändern und die Entwurfs-Einstellung entfernen.
Wir empfehlen, regelmäßig von main des ursprünglichen Repos zu rebasen, um Ihren Branch aktuell zu halten.
Im Allgemeinen werden wir eine PR zusammenführen, sobald ein Maintainer sie überprüft und genehmigt hat. Triviale Änderungen (z. B. Korrekturen von Rechtschreibfehlern) können durchgewunken werden. Bei wesentlichen Änderungen können mehr Personen einbezogen werden, und Sie könnten gebeten werden, die PR erneut einzureichen oder die Änderungen in mehr als eine PR aufzuteilen.
Formatierung der Commit-Nachricht
Für weitere Informationen darüber, wie man großartige Commit-Nachrichten schreibt und warum man das tun sollte, schauen Sie sich diesen ausgezeichneten Blogbeitrag an.
Wir folgen einer groben Konvention für Commit-Nachrichten, die darauf abzielt, drei Fragen zu beantworten: Was hat sich geändert, warum wurde die Änderung vorgenommen und wie wurde sie gemacht.
Die Betreffzeile sollte das Was enthalten und der Text des Commits sollte das Warum und Wie beschreiben. Wenn Sie auf dem Weg auf irgendwelche Merkwürdigkeiten gestoßen sind, ist dies ein guter Ort, um zu notieren, was Sie entdeckt haben und wie Sie es gelöst haben.
Das Format kann formeller wie folgt beschrieben werden:
<short title for what changed>
<BLANK LINE>
<why this change was made and what changed>
<BLANK LINE>
<any interesting details>
<footer>
Die erste Zeile ist der Betreff und sollte nicht länger als 70 Zeichen sein. Die zweite Zeile ist immer leer, und andere Zeilen sollten auf maximal 80 Zeichen umgebrochen werden. Dies ermöglicht es, die Nachricht sowohl auf GitHub als auch in verschiedenen Git-Tools leichter zu lesen.
Es gibt eine empfohlene Vorlage zur Verwendung hier.
Wie die Maintainer Beiträge verarbeiten
Priorisierung von Problemen
Das Kernteam bearbeitet regelmäßig eingehende Probleme. Es kann während der Feiertage zu Verzögerungen kommen.
Jedes Problem wird mit einem priority/<x> Label versehen. Die Prioritätsstufen sind:
-
critical-urgent: Dies sind zeitkritische Probleme, die sofort aufgegriffen werden sollten. Wenn ein mitcriticalgekennzeichnetes Problem nicht zugewiesen oder aktiv bearbeitet wird, wird erwartet, dass jemand sofort seine aktuellen Aufgaben unterbricht, um daran zu arbeiten. Das bedeutet normalerweise das Kernteam, aber Mitglieder der Gemeinschaft sind willkommen, Probleme jeder Prioritätsstufe zu übernehmen, wenn sie zuerst dort sind. Allerdings, angesichts des dringenden Zeitrahmens, sollte ein nicht zum Kernteam gehörender Mitwirkender, der um die Zuweisung zu einemcriticalProblem bittet, mit einem Mitglied des Kernteams zusammenarbeiten, um das Tracking, die Kommunikation und die Veröffentlichung einer Lösung zu verwalten sowie die Verantwortung für den gesamten Fortschritt zu übernehmen. -
important-soon: Muss zugewiesen werden, sobald Kapazitäten verfügbar sind. Idealerweise sollte etwas rechtzeitig für die nächste Veröffentlichung geliefert werden. -
important-longterm: Langfristig wichtig, könnte aber derzeit nicht besetzt sein und/oder mehrere Veröffentlichungen erfordern, um abgeschlossen zu werden. -
backlog: Es scheint allgemeine Zustimmung zu geben, dass dies wünschenswert wäre, aber wir haben möglicherweise derzeit oder in naher Zukunft niemanden, der daran arbeiten kann. PRs sind nach wie vor sehr willkommen, obwohl es eine Weile dauern kann, sie zu überprüfen, wenn die Prüfer vollständig mit Problemen mit höherer Priorität beschäftigt sind, zum Beispiel unmittelbar vor einer Veröffentlichung.
Diese Prioritätskategorien wurden vom Kubernetes-Beitragsleitfaden inspiriert.
Weitere Labels sind:
-
adr-required: Dies zeigt an, dass das Problem oder der PR eine Entscheidung enthält, die in einem ADR vor der Bearbeitung dokumentiert werden muss. -
needs-investigation: Derzeit gibt es unzureichende Informationen, um entweder eine ordnungsgemäße Kategorisierung vorzunehmen oder um eine Lösung zu verstehen und umzusetzen. Dies könnte daran liegen, dass der Ersteller des Problems nicht genügend relevante Informationen bereitgestellt hat oder dass eine eingehendere Recherche erforderlich ist, bevor mit der Arbeit begonnen werden kann.
Überprüfung von PRs
Das Kernteam hat sich zum Ziel gesetzt, die PR-Warteschlange so schnell wie möglich zu räumen. Mitglieder der Gemeinschaft sollten sich ebenfalls frei fühlen, die Dinge im Auge zu behalten und ihre eigenen Gedanken und Fachkenntnisse einzubringen.
Beiträge mit hohem Wert und/oder hoher Priorität werden so schnell wie möglich bearbeitet, während Beiträge mit niedrigerer Priorität oder solche, die wünschenswert sind, etwas länger auf Genehmigung warten können.
Um eine reibungslosere und schnellere Überprüfung zu ermöglichen, befolgen Sie die Richtlinien oben. Einreichungen, die nicht den Standards entsprechen, werden für die Überprüfung herabgestuft.
ADRs (Architektonische Entscheidungsprotokolle)
|
Bitte fühlen Sie sich frei, diesen und Unterabschnitt unten zu überspringen, da sie nur für das rancher-turtles Repository relevant sind. |
Alle wesentlichen Entscheidungen zur Architektur, zum Design, zur Entwicklung und zum Verhalten von rancher-turtles müssen in Form eines ADR dokumentiert werden.
Eine Vorlage finden Sie unter docs/adr/0000-template.md des Repository, mit zahlreichen Beispielen abgeschlossener Protokolle im selben Verzeichnis.
Beitragende sind ebenfalls eingeladen, ADRs nachzutragen, falls sie fehlen.
Vorgang
-
Starten Sie eine neue Diskussion in der Kategorie
ADR. -
Wählen Sie einen geeigneten klaren und prägnanten Titel (z. B.
ADR: Implement X in Go). -
Geben Sie den Kontext der zu treffenden Entscheidung an. Beschreiben Sie die verschiedenen Optionen, falls mehr als eine vorhanden ist, und erläutern Sie die Vor- und Nachteile. Heben Sie alle Bereiche hervor, auf die Sie möchten, dass die Prüfer achten, oder solche, zu denen Sie speziell eine Meinung wünschen.
-
Taggen Sie die Maintainer als "Entscheider" und laden Sie sie ein, an der Entscheidung und ihren Konsequenzen teilzunehmen und sich zu äußern.
-
Sobald eine Entscheidung getroffen wurde, öffnen Sie einen PR, um eine neue ADR zum Verzeichnis hinzuzufügen. Kopieren und vervollständigen Sie die Vorlage;
-
Erhöhen Sie die Dateinummer um eins
-
Setzen Sie den Status auf "Akzeptiert"
-
Setzen Sie die Entscheider als diejenigen, die das Ergebnis der Diskussion genehmigt haben
-
Fassen Sie die Entscheidung und die Konsequenzen aus dem Diskussionsfaden zusammen
-
Verlinken Sie zurück zur Diskussion aus dem ADR-Dokument
-