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 es 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 niemals veralten. Es basiert auf 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 Sie Lingo.dev CI/CD mit GitLab CI/CD und Lingo.dev Engine einrichten.
Schritt 1. Lingo.dev CLI einrichten
Folgen Sie zunächst dem Quickstart für Lingo.dev CLI.
Sie sollten am Ende Folgendes haben:
- einen API-Schlüssel für Lingo.dev
- eine Datei
i18n.json, die das Verhalten einer Übersetzungs-Pipeline konfiguriert - die Möglichkeit, Inhalte mit
npx lingo.dev@latest runzu übersetzen
Schritt 2. Access-Token abrufen
In GitLab CI/CD ist ein Access-Token erforderlich, um bestimmte Aktionen innerhalb einer Pipeline auszuführen.
Es gibt zwei Arten von Access-Tokens:
Beide können verwendet werden, aber nur Personal Access Tokens stehen Nutzern von GitLab ohne kostenpflichtiges Abonnement zur Verfügung.
Personal Access Tokens
-
Wählen Sie in der linken Seitenleiste Ihren Avatar aus.
-
Wählen Sie Profil bearbeiten.
-
Wählen Sie in der linken Seitenleiste Access Tokens.
-
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 Scopes.
apiread_repositorywrite_repository
-
Wählen Sie Create personal access token aus.
Projektzugriffstoken
-
Navigieren Sie zu einem Projekt in GitLab.
-
Wählen Sie Settings > Access tokens aus.
-
Wählen Sie Add new token aus.
-
Geben Sie unter Token name einen Namen ein.
-
Wählen Sie eine Rolle für das Token aus.
-
Aktivieren Sie die folgenden Scopes.
apiread_repositorywrite_repository
-
Wählen Sie Create project access token aus.
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 Protect variable beim Erstellen von Variablen.
Lingo.dev-API-Schlüssel
- Navigieren Sie zu Settings > CI/CD.
- Erweitern Sie den Abschnitt Variables.
- Klicken Sie auf Add variable.
- Geben Sie im Feld Key
LINGODOTDEV_API_KEYein. - Geben Sie im Feld Value einen Lingo.dev-API-Schlüssel ein.
- Wählen Sie Visibility > Masked aus.
- Klicken Sie auf Add variable.
GitLab-Zugriffstoken
- Navigieren Sie zu Settings > CI/CD.
- Erweitern Sie den Abschnitt Variables.
- Klicken Sie auf Add variable.
- Geben Sie im Feld Key
GL_TOKENein. - Geben Sie im Feld Value ein GitLab-Zugriffstoken ein.
- Wählen Sie Visibility > Masked aus.
- Klicken Sie auf Add variable.
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
maingemergt werden, Übersetzungen inmaincommitten - Wenn Inhalte in
maingemergt werden, einen Merge Request vonmainerstellen - Wenn Inhalte in einen Feature-Branch gemergt werden, Übersetzungen in den Branch committen
- Wenn Inhalte in einen Feature-Branch gemergt 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 und unauffälligste Workflow.
Schritt 4. Pipeline einrichten
-
Erstellen Sie im Repository-Root eine
.gitlab-ci.ymlDatei:touch .gitlab-ci.yml -
Kopieren Sie eine der Beispiel-Pipelines in die Datei.
-
Committen und pushen Sie die Änderungen in den
mainBranch: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 "My custom commit message!"
Um alle verfügbaren Optionen anzuzeigen, siehe CLI-Befehle.
Beispiel-Pipelines
Commit in main
Wenn Inhalte in main zusammengeführt 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 zusammengeführt 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 in Feature-Branch
Wenn Inhalte in einen Feature-Branch zusammengeführt 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 von Feature-Branch
Wenn Inhalte in einen Feature-Branch zusammengeführt 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