GitLab CI/CD
KI-Übersetzung mit GitLab CI/CD und Lingo.dev CI/CD
Was ist GitLab CI/CD?
GitLab CI/CD ist eine in GitLab integrierte Plattform für kontinuierliche Integration und Bereitstellung. Sie ermöglicht Benutzern, Pipelines in YAML-Dateien zu definieren, um Code zu erstellen, zu testen und bereitzustellen oder Aufgaben zu automatisieren, die durch Repository-Ereignisse ausgelöst werden.
Was ist Lingo.dev CI/CD?
Lingo.dev CI/CD ist ein KI-gestütztes Tool zur Lokalisierung von Apps und Inhalten in CI/CD, das sicherstellt, dass Übersetzungen nie veralten. Es basiert auf der Lingo.dev CLI und ist über den Befehl ci verfügbar:
npx lingo.dev@latest ci --help
Über diesen Leitfaden
Dieser Leitfaden erklärt, wie man Lingo.dev CI/CD mit GitLab CI/CD und der Lingo.dev Engine einrichtet.
Schritt 1. Einrichtung der Lingo.dev CLI
Befolgen Sie zunächst den Schnellstart für die Lingo.dev CLI.
Am Ende sollten Sie Folgendes haben:
- einen API-Schlüssel für Lingo.dev
- eine
i18n.json-Datei, die das Verhalten einer Übersetzungspipeline konfiguriert - die Möglichkeit, Inhalte mit
npx lingo.dev@latest runzu übersetzen
Schritt 2. Zugriffstoken erhalten
In GitLab CI/CD wird ein Zugriffstoken benötigt, um bestimmte Aktionen innerhalb einer Pipeline durchzuführen.
Es gibt zwei Arten von Zugriffstoken:
Beide können verwendet werden, aber nur persönliche Zugriffstoken stehen nicht zahlenden Nutzern von GitLab zur Verfügung.
Persönliche Zugriffstoken
-
Wählen Sie in der linken Seitenleiste Ihren Avatar aus.
-
Wählen Sie Profil bearbeiten.
-
Wählen Sie in der linken Seitenleiste Zugriffstoken.
-
Wählen Sie Neuen Token hinzufügen.
-
Geben Sie unter Token-Name einen Namen für den Token ein (z.B. "Lingo.dev").
-
Aktivieren Sie die folgenden Berechtigungsbereiche.
apiread_repositorywrite_repository
-
Wählen Sie Persönlichen Zugriffstoken erstellen.
Projekt-Zugriffstokens
-
Navigieren Sie zu einem Projekt in GitLab.
-
Wählen Sie Einstellungen > Zugriffstokens.
-
Wählen Sie Neuen Token hinzufügen.
-
Geben Sie unter Token-Name einen Namen ein.
-
Wählen Sie eine Rolle für den Token aus.
-
Aktivieren Sie die folgenden Berechtigungen.
apiread_repositorywrite_repository
-
Wählen Sie Projekt-Zugriffstoken erstellen.
Schritt 2. CI/CD-Variablen konfigurieren
In GitLab ermöglichen CI/CD-Variablen Pipelines den Zugriff auf sensible Werte. Um Lingo.dev in GitLab CI/CD zu verwenden, müssen sowohl der Lingo.dev API-Schlüssel als auch das GitLab-Zugriffstoken als Variablen verfügbar sein.
Warnung: Standardmäßig sind CI/CD-Variablen nur auf geschützten Branches verfügbar. Wenn Sie keine geschützten Branches verwenden, deaktivieren Sie die Option Variable schützen beim Erstellen von Variablen.
Lingo.dev API-Schlüssel
- Navigieren Sie zu Einstellungen > CI/CD.
- Erweitern Sie den Abschnitt Variablen.
- Klicken Sie auf Variable hinzufügen.
- Geben Sie im Feld Schlüssel
LINGODOTDEV_API_KEYein. - Geben Sie im Feld Wert einen Lingo.dev API-Schlüssel ein.
- Wählen Sie Sichtbarkeit > Maskiert.
- Klicken Sie auf Variable hinzufügen.
GitLab-Zugriffstoken
- Navigieren Sie zu Einstellungen > CI/CD.
- Erweitern Sie den Abschnitt Variablen.
- Klicken Sie auf Variable hinzufügen.
- Geben Sie im Feld Schlüssel
GL_TOKENein. - Geben Sie im Feld Wert ein GitLab-Zugriffstoken ein.
- Wählen Sie Sichtbarkeit > Maskiert.
- Klicken Sie auf Variable hinzufügen.
Schritt 3. Workflow auswählen
Sie können Lingo.dev CI/CD auf verschiedene Arten einrichten, um unterschiedliche Workflows zu unterstützen. Dies sind einige der Workflows, die wir empfehlen (und für die wir Beispiele bereitstellen):
- Wenn Inhalte in
mainzusammengeführt werden, Übersetzungen inmaincommitten - Wenn Inhalte in
mainzusammengeführt werden, einen Merge Request vonmainerstellen - Wenn Inhalte in einen Feature-Branch zusammengeführt werden, Übersetzungen in den Branch committen
- Wenn Inhalte in einen Feature-Branch zusammengeführt werden, einen Merge Request vom Branch erstellen
Es gibt jedoch keinen "besten" Workflow. Alle haben Kompromisse. Wenn Sie nicht sicher sind, wo Sie beginnen sollen, empfehlen wir, mit der ersten Option zu starten. Es ist der einfachste, unsichtbarste Workflow.
Schritt 4. Pipeline einrichten
-
Erstellen Sie im Repository-Stammverzeichnis eine
.gitlab-ci.yml-Datei:touch .gitlab-ci.yml -
Kopieren Sie eine der Beispiel-Pipelines in die Datei.
-
Committen und pushen Sie die Änderungen zum
main-Branch:git add .gitlab-ci.yml git commit -m "feat: GitLab CI pipeline for Lingo.dev" git push
(Optional) Schritt 5. Pipeline anpassen
Lingo.dev CI/CD hat Standardwerte, die in den meisten Fällen nicht angepasst werden müssen. Sie können diese jedoch mit den CLI-Flags des ci-Befehls überschreiben,
npx lingo.dev@latest ci --api-key "$LINGODOTDEV_API_KEY" --commit-message "Meine benutzerdefinierte Commit-Nachricht!"
Um alle verfügbaren Optionen anzuzeigen, siehe CLI-Befehle.
Beispiel-Pipelines
Commit zum main-Branch
Wenn Inhalte in main gemergt werden, Übersetzungen in main committen.
image:
name: lingodotdev/ci-action:latest
entrypoint: [""]
stages: [translate]
translate:
stage: translate
script:
- npx lingo.dev@latest ci --api-key "$LINGODOTDEV_API_KEY"
only:
- main
Merge-Request von main
Wenn Inhalte in main gemergt werden, einen Merge-Request von main erstellen.
image:
name: lingodotdev/ci-action:latest
entrypoint: [""]
stages: [translate]
translate:
stage: translate
script:
- npx lingo.dev@latest ci --pull-request --api-key "$LINGODOTDEV_API_KEY"
only:
- main
Commit zum Feature-Branch
Wenn Inhalte in einen Feature-Branch gemergt werden, Übersetzungen in den Branch committen.
image:
name: lingodotdev/ci-action:latest
entrypoint: [""]
stages: [translate]
translate:
stage: translate
script:
- npx lingo.dev@latest ci --api-key "$LINGODOTDEV_API_KEY"
only:
- branches
except:
- main
Merge-Request vom Feature-Branch
Wenn Inhalte in einen Feature-Branch gemergt werden, einen Merge-Request vom Branch erstellen.
image:
name: lingodotdev/ci-action:latest
entrypoint: [""]
stages: [translate]
translate:
stage: translate
script:
- npx lingo.dev@latest ci --pull-request --api-key "$LINGODOTDEV_API_KEY"
except:
- main