Dokumentation

Wie eine Aufgabe zu einem pull request wird

Der vollständige Weg von der Arbeitsbeschreibung bis zu einer überprüften pull request sowie die Bezeichnung jeder einzelnen Phase auf diesem Weg.

Dies ist die Seite, auf die im restlichen Dokumentationstext verwiesen wird. Sie benennt jede Ausführungsphase, sodass andere Artikel präzise angeben können, wo etwas stattfindet.

Der Weg

  1. 1Spezifikation

    Was gebaut werden soll und wie Sie erkennen, dass es funktioniert.

    ArchitektSie können bearbeiten
  2. 2Planung

    Geordnete Schritte, die vor dem Schreiben von Code geprüft werden.

    ArchitektSie genehmigen
  3. 3Erstellung

    Code und Tests werden in einer isolierten Arbeitsumgebung geschrieben.

    Entwickler
  4. 4Überprüfung

    Ihr Test-Suite sowie Prüfungen und Qualitätskriterien.

    QA
  5. 5Review

    Eine automatisierte Überprüfung der Differenzen.

    Rezensent
  6. 6Pull-Request

    Auf einem Branch in Ihrem Repository, wartet auf Sie.

    Sie führen zusammen

Fehlgeschlagene Verifizierungen und behebbare Rezensionsergebnisse gehen als Nachbesserung an den Entwickler zurück, bevor ein pull request erstellt wird.

Sechs Phasen, jeweils mit einem Verantwortlichen. Sie greifen bei der Spezifikation, beim Plan und beim Zusammenführen ein.

Diese Phasen sind bei beiden Ausführungsarten einer Aufgabe identisch. Im Standardmodus überführt die Plattform die Aufgabe von einer Phase zur nächsten. Im Coordinator-Modus bleibt der Planungsagent als Koordinator bei der Aufgabe, weist jede Phase dem richtigen Agenten zu und entscheidet, was nach jedem Ergebnis geschieht – einschließlich des Zurücksenden von Arbeit. In beiden Fällen wird eine Phase durch ihre eigenen Prüfungen abgeschlossen. Siehe Agentenrollen um die Unterschiede zwischen den beiden Modi zu erfahren.

Spezifikation

Coroid beginnt nicht mit Ihrem Satz. Zuerst wandelt es Ihre Beschreibung in eine Spezifikation: Was gebaut werden soll, was ausdrücklich außerhalb des Umfangs liegt und die Annahmekriterien, die festlegen, ob die Arbeit erfolgreich war.

Das ist wichtig, weil die Annahmekriterien die Grundlage für die spätere Überprüfungsphase bilden. Eine vage Spezifikation führt zu Arbeit, die schwer zu bewerten ist.

Sie können die Spezifikation auf der Aufgaben- Spezifikation Registerkarte vor dem Start der Ausführung einsehen und bearbeiten.

Der Leitfaden zur spezifikationsgetriebenen Entwicklung erklärt, wie Sie testbare Kriterien formulieren, den Umfang abgrenzen und dieselbe Erfolgsdefinition durch Planung, Implementierung und Rezension hindurch beibehalten.

Planen

Für Änderungen, die über kleine Anpassungen hinausgehen, wird die Spezifikation zu einem Plan: einer geordneten Reihe von Schritten, die in Phasen gruppiert sind. Sie genehmigen den Plan, bevor Code geschrieben wird.

Einen Plan abzulehnen ist kostengünstig und die richtige Entscheidung, wenn der Ansatz falsch ist. Nach dem Schreiben des Codes zu rejecten ist hingegen teuer. In dieser Phase hat Ihr Urteil den größten Einfluss.

Erstellen

Ein Agent kopiert das Repository in einen isolierten Arbeitsbereich und arbeitet dort. Er liest den Code, schreibt die Änderung und aktualisiert oder erstellt Tests.

Der Arbeitsbereich ist einmalig pro Aufgabe und kann verworfen werden. Die Arbeit eines Agents berührt niemals Ihren Standardzweig, und zwei gleichzeitig laufende Aufgaben können die jeweiligen Arbeitsergebnisse nicht gegenseitig einsehen.

Überprüfen

Zuerst läuft Ihr eigenes Testpaket – das ist das stärkste Signal, da es widerspiegelt, was Ihr Team bereits als wichtig erachtet.

Darüber hinaus werden Qualitätsprüfungen ausgeführt, um die von Ihrer Organisation definierten Regeln anzuwenden: Abdeckungsgrenzwerte, Linting, Sicherheitsscans sowie Browsertests gegen eine Vorschauversion. Eine blockierende Prüfung stoppt die Aufgabe; eine empfehlende Prüfung zeichnet ein Ergebnis auf und lässt die Aufgabe fortfahren.

Rezension

Ein Rezensions-Agent liest die Diff-Datei genauso wie ein Kollege und erstellt Ergebnisse. Behebbare Ergebnisse werden zur Nachbesserung zurückgesendet; die übrigen werden dem pull request zugeordnet, damit Sie sie sehen können.

Deshalb enthält ein Coroid pull request bereits eine fertige Rezension – nicht um Ihre Rezension zu ersetzen, sondern damit Ihre Rezension nicht die erste ist.

Pull-Request

Der Branch wird gepusht und ein pull request wird gegen Ihren Basis-Branch geöffnet, wobei die Änderungen, Tests, Verifizierungsergebnisse sowie die Prüfungsergebnisse enthalten sind. Falls der Code bereits die Anforderungen der Aufgabe erfüllt, muss nichts gepusht werden: Die Qualitätssicherung prüft den unveränderten Code stattdessen, und die Aufgabe wird ohne einen pull request abgeschlossen.

Die Aufgabenautomatisierung von Coroid endet hier. Das Zusammenführen übernehmen Sie.

Nach dem Zusammenführen

Öffnen Sie Releases um den genauen Commit vorzubereiten, den Sie ausliefern möchten. Eine Release kann mehrere zusammengeführte Pull-Requests, einen direkten Commit oder Arbeit enthalten, die außerhalb von Coroid zusammengeführt wurde. Die Release-Prüfung und -freigaben beziehen sich auf diesen Commit und eine bestimmte Umgebung. Ihre Pipeline deployt ihn; Coroid protokolliert einen beobachteten Erfolg oder eine explizite Bestätigung, bevor es als ausgeliefert angezeigt wird. Eine Aufgabe, die als COMPLETED oder ein zusammengeführter pull request allein beweisen die Auslieferung nicht.

Aufgaben-Status

Der Status einer Aufgabe zeigt an, wo sie auf dem oben beschriebenen Weg befindlich ist:

StatusBedeutung
PENDINGAkzeptiert, wartet auf einen verfügbaren Agenten-Slot
IN_PROGRESSAktuell in Bearbeitung
PENDING_REVIEWArbeit ist abgeschlossen und überprüft, wartet auf Integration oder Freigabe
COMPLETEDDie Aufgabenarbeit ist fertiggestellt; die Auslieferung wird separat verfolgt
NEEDS_HUMAN_REVIEWCoroid kann nicht eigenständig fortfahren und stellt Ihnen eine Frage.
PAUSEDVorübergehend gestoppt, wieder aufnehmbar
FAILEDDie Ausführung konnte nicht abgeschlossen werden
CANCELLEDVon Ihnen gestoppt
WONT_FIXAbsichtlich geschlossen, ohne die Arbeit auszuführen

Was bestimmt die Durchlaufrate?

Ein Agent-Slot Ein Agent-Slot verarbeitet jeweils eine Aufgabe gleichzeitig. Die Anzahl der Slots bestimmt, wie viel Arbeit parallel ausgeführt wird; sie beschleunigen jedoch nicht das Abschließen einer einzelnen Aufgabe. Die Dauer einer Aufgabe hängt von der Größe der Änderung und der Laufzeit Ihres Test-Suites ab.

Weiter

Agent-Rollen – welcher Agent welche Arbeitsphase übernimmt. Anschließend sehen Sie Releases für den Weg nach dem Merge durch Ihre Umgebungen.