CI/CD

Max PrilutskiyCEO a spoluzakladatelUpdated před 2 měsíci · 1 min read

CLI nemá vyhrazený příkaz ci. Pokud chcete lokalizaci spouštět v CI, máte dvě možnosti: nechat Lingo.dev GitHub App, aby vše obsloužila na serveru (na GitHubu doporučeno), nebo spustit lingo push ve vlastní pipeline a commitnout výsledky.

Možnost 1: GitHub App (doporučeno)#

Nainstalujte si do repozitáře Lingo.dev GitHub App. Nasměrujte ji na commitnutý .lingo/config.json (s engineId) a bude automaticky reagovat na push i pull requesty — rozpozná změněné zdrojové řetězce, přeloží je přes váš engine a výsledky commitne zpět do větve nebo otevře pull request. Nepotřebujete runner, secret s API klíčem ani lockfile, o který byste se museli starat.

Možnost 2: spusťte lingo push ve vlastním runneru#

CLI můžete spustit přímo v libovolném CI prostředí s Node.js 22+. Ověřte se pomocí API klíče (uloženého jako secret), proveďte push a commitněte výstupy.

yaml
name: Translate
on:
  push:
    branches: [main]
permissions:
  contents: write
jobs:
  localize:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm install -g @lingo.dev/cli
      - run: lingo push
        env:
          LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
      - name: Commit translations
        run: |
          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

lingo push přeloží jen to, co se od posledního spuštění změnilo (sledováno v .lingo/lock.json), počká na dokončení běhu a zapíše výstupy. Pokud místo commitu do větve chcete otevřít pull request, pushněte změny do vyhrazené větve a PR vytvořte pomocí nástrojů své platformy (např. gh pr create).

Ověření před nasazením#

Přidejte před build krok lingo check, aby pipeline selhala, pokud některému zdrojovému řetězci chybí překlad:

bash
lingo check

Viz také#

  • GitHub App — spravovaná Průběžná lokalizace bez runneru a secretu.
  • lingo push — omezené patterny, --backfill-missing, chování při opakování pokusu.
  • Konfigurace.lingo/config.json a lockfile.