Bitbucket Pipelines

Mis à jour le : il y a 4 jours · 3 min de lecture

Dans Bitbucket, exécutez @lingo.dev/cli dans une étape de pipeline : installez-le, lancez lingo push pour traduire les chaînes source modifiées via votre moteur, puis validez les résultats ou ouvrez une pull request avec les outils natifs de Bitbucket.

Prérequis

Vous avez besoin d’un fichier .lingo/config.json déjà validé (avec un engineId, les langues source et cibles, ainsi que des motifs files) et de votre clé API Lingo.dev enregistrée comme variable du dépôt. Consultez le guide de démarrage rapide du CLI pour créer la configuration.

Authentification#

Le CLI s’authentifie avec la variable d’environnement LINGO_API_KEY. Ajoutez votre clé comme variable du dépôt sécurisée pour la rendre disponible dans les étapes du pipeline :

Paramètres du dépôt > Variables du dépôt — ajoutez LINGO_API_KEY et marquez-la comme sécurisée.

Pour pousser des commits ou rouvrir des pull requests vers le dépôt, le pipeline a aussi besoin d’un accès Git en écriture. Les options standard sont une clé SSH du dépôt (Paramètres du dépôt > Clés SSH) ou un jeton d’accès au dépôt avec le scope Read & write repositories (et pull requests pour le mode PR), enregistré comme variable du dépôt sécurisée, par exemple BB_TOKEN.

Exemples de workflow#

Commit direct (par défaut)#

Installez le CLI, lancez lingo push --wait, puis validez les fichiers traduits dans la branche :

yaml
image: node:22

pipelines:
  branches:
    main:
      - step:
          name: Translate
          script:
            - npm install -g @lingo.dev/cli
            - lingo push --wait
            - git config user.name "lingo-bot"
            - git config user.email "support@lingo.dev"
            - git add .
            - git diff --cached --quiet || git commit -m "chore: update translations"
            - git push origin HEAD:main

lingo push --wait traduit uniquement ce qui a changé depuis la dernière exécution (suivi dans .lingo/lock.json), attend la fin de l’exécution, puis écrit les résultats sur le disque. Sans --wait, push se termine dès que l’exécution est lancée et il n’y a rien à enregistrer.

Mode pull request#

Poussez les traductions vers une branche dédiée au lieu de les valider dans main, puis ouvrez une pull request avec les outils de Bitbucket :

yaml
image: node:22

pipelines:
  branches:
    main:
      - step:
          name: Translate
          script:
            - npm install -g @lingo.dev/cli
            - lingo push --wait
            - git config user.name "lingo-bot"
            - git config user.email "support@lingo.dev"
            - git checkout -b lingo/translations
            - git add .
            - git diff --cached --quiet || git commit -m "feat: update translations"
            - git push origin lingo/translations
            # Open a PR from lingo/translations into main via the Bitbucket UI or API

Monorepo#

Exécutez le CLI depuis un sous-répertoire lorsque votre configuration se trouve dans un espace de travail. Le CLI résout .lingo/config.json à partir du répertoire de travail :

yaml
image: node:22

pipelines:
  branches:
    main:
      - step:
          name: Translate
          script:
            - cd apps/web
            - npm install -g @lingo.dev/cli
            - lingo push --wait

Variables du pipeline#

VariableObligatoireDescription
LINGO_API_KEYOuiClé API Lingo.dev. À enregistrer comme variable du dépôt sécurisée.
BB_TOKENPour l’accès en écriture push/PRJeton d’accès au dépôt (ou clé SSH) utilisé par Git pour valider des changements ou ouvrir des pull requests.

Tout le reste — langue source, langues cibles, motifs de fichiers et moteur à utiliser — se trouve dans .lingo/config.json, pas dans les variables du pipeline.

Vérifier avant le déploiement#

Ajoutez une étape lingo check pour faire échouer le pipeline dès qu’une chaîne source n’a pas de traduction :

yaml
- step:
          name: Check translations
          script:
            - npm install -g @lingo.dev/cli
            - lingo check

Étapes suivantes#