Auswahl eines Workflows

Workflow-Empfehlungen für Lingo.dev CI/CD

Einführung

Lingo.dev CI/CD ist darauf ausgelegt, flexibel zu sein und kann in alle bestehenden Workflows integriert werden. Als Ausgangspunkt bietet diese Seite jedoch einige empfohlene Workflows zur Berücksichtigung.

Hinweis: Es gibt keinen "besten" Workflow. Jeder Workflow hat unterschiedliche Kompromisse und wird je nach Präferenzen, Teamgröße und etablierten Arbeitsweisen unterschiedliche Nutzer ansprechen.

Empfohlene Workflows

Option 1: Commit zum Main-Branch

Wenn Inhaltsänderungen in Ihren Main-Branch zusammengeführt werden, werden Übersetzungen automatisch generiert und direkt wieder in den Main-Branch committed.

Am besten geeignet für

Teams, die unsichtbare, reibungslose Übersetzungsaktualisierungen mit minimaler Entwicklerbeteiligung wünschen.

Vorteile

  • Vollständig automatisiert - keine menschliche Intervention erforderlich
  • Übersetzungen sind sofort im Main-Branch verfügbar
  • Einfachste Einrichtung und Wartung
  • Keine zusätzlichen Branches oder Pull-Requests zu verwalten

Kompromisse

  • Kein Überprüfungsprozess für Übersetzungen
  • Potenzial für Übersetzungs-Commits, zusätzliche CI-Läufe auszulösen
  • Änderungen erscheinen direkt im Main-Branch ohne Sichtbarkeit dessen, was übersetzt wurde
  • Weniger Kontrolle darüber, wann Übersetzungen bereitgestellt werden

Option 2: Pull-Request vom Main-Branch

Nachdem Inhalte in den Main-Branch zusammengeführt wurden, werden Übersetzungen generiert und als neuer Pull-Request vom Main-Branch eingereicht.

Am besten geeignet für

Teams, die Übersetzungssichtbarkeit und Überprüfungsmöglichkeiten wünschen, während der Prozess auf dem Main-Branch zentralisiert bleibt.

Vorteile

  • Übersetzungsänderungen sind sichtbar und überprüfbar vor dem Zusammenführen
  • Klarer Prüfpfad darüber, welche Inhalte übersetzt wurden
  • Möglichkeit, manuelle Anpassungen vor dem Akzeptieren von Übersetzungen vorzunehmen
  • Erhält saubere Main-Branch-Historie mit expliziten Übersetzungs-Commits

Kompromisse

  • Erfordert manuelle Pull-Request-Genehmigung (sofern nicht Auto-Merge konfiguriert ist)
  • Leichte Verzögerung zwischen Inhaltsänderungen und Verfügbarkeit der Übersetzungen
  • Zusätzliche Pull-Requests, die in Ihrem Workflow verwaltet werden müssen

Option 3: Commit in Feature-Branch

Wenn Inhaltsänderungen in Feature-Branches vorgenommen werden, werden Übersetzungen automatisch generiert und direkt in dieselben Branches committed.

Am besten geeignet für

Teams, die mit langlebigen Feature-Branches arbeiten und möchten, dass Übersetzungen Teil des Feature-Entwicklungsprozesses sind.

Vorteile

  • Übersetzungen sind fertig, wenn das Feature fertig ist
  • Keine separate Übersetzungsarbeit während des Feature-Reviews erforderlich
  • Vollständige Features beinhalten sowohl Inhalte als auch Übersetzungen
  • Funktioniert gut mit Feature-Flag-Deployments

Kompromisse

  • Übersetzungs-Commits erscheinen in der Feature-Branch-Historie
  • Potenzielle Merge-Konflikte, wenn mehrere Entwickler am selben Branch arbeiten
  • Übersetzungen sind an die Feature-Fertigstellung gebunden und nicht an die Inhaltsbereitschaft
  • Kann Übersetzungen für experimentelle Features generieren, die nie ausgeliefert werden

Option 4: Pull Request aus Feature-Branch

Wenn Inhaltsänderungen in Feature-Branches auftreten, werden Übersetzungen generiert und als separate Pull Requests aus diesen Branches eingereicht.

Am besten geeignet für

Teams, die maximale Kontrolle und Sichtbarkeit über Übersetzungen wünschen und gleichzeitig Feature-Branch-Workflows beibehalten möchten.

Vorteile

  • Volle Transparenz bei Übersetzungsänderungen auf Feature-Ebene
  • Möglichkeit, Übersetzungen vor Feature-Fertigstellung zu überprüfen und anzupassen
  • Klare Trennung zwischen Feature-Entwicklung und Übersetzungsintegration
  • Flexible Zeitplanung für die Akzeptanz von Übersetzungsupdates

Kompromisse

  • Komplexester Workflow zu verwalten
  • Mehrere Pull Requests pro Feature (Feature + Übersetzungen)
  • Potenzial für veraltete Übersetzungs-Pull-Requests, wenn sich Features ändern
  • Erfordert Koordination zwischen Feature- und Übersetzungs-Pull-Requests