Penulis:
    Dibuat:2026-01-06Terakhir diperbarui:2026-01-06

    Perintah CI

    bash
    npx intlayer ci <command...>

    Perintah CI dirancang untuk otomasi dan pipeline CI/CD. Perintah ini secara otomatis menyuntikkan kredensial dari variabel lingkungan INTLAYER_PROJECT_CREDENTIALS dan dapat menjalankan perintah Intlayer di beberapa proyek dalam monorepo.

    Cara kerja

    Perintah CI beroperasi dalam dua mode:

    1. Mode Proyek Tunggal: Jika direktori kerja saat ini cocok dengan salah satu jalur proyek di INTLAYER_PROJECT_CREDENTIALS, perintah akan dijalankan hanya untuk proyek spesifik tersebut.

    2. Mode Iterasi: Jika tidak ada konteks proyek spesifik yang terdeteksi, perintah akan mengiterasi semua proyek yang dikonfigurasi dan menjalankan perintah untuk masing-masing.

    Variabel Lingkungan

    Perintah memerlukan variabel lingkungan INTLAYER_PROJECT_CREDENTIALS untuk disetel. Variabel ini harus berisi objek JSON yang memetakan jalur proyek ke kredensialnya:

    json
    {  "packages/app": {    "clientId": "your-client-id-1",    "clientSecret": "your-client-secret-1"  },  "packages/admin": {    "clientId": "your-client-id-2",    "clientSecret": "your-client-secret-2"  }}

    Deteksi Package Manager

    Perintah CI secara otomatis mendeteksi package manager yang digunakan (npm, yarn, pnpm, atau bun) berdasarkan variabel lingkungan npm_config_user_agent dan menggunakan perintah yang sesuai untuk mengeksekusi Intlayer.

    Argumen

    • <command...>: Perintah Intlayer yang akan dieksekusi (misalnya, fill, push, build). Anda dapat meneruskan perintah Intlayer apa pun dan argumennya.

      Contoh: npx intlayer ci fill --verbose

      Contoh: npx intlayer ci push

      Contoh: npx intlayer ci build --watch

    Contoh

    Menjalankan perintah dalam mode proyek tunggal

    Jika Anda berada di direktori proyek yang cocok dengan salah satu jalur di INTLAYER_PROJECT_CREDENTIALS:

    bash
    cd packages/appnpx intlayer ci fill

    Ini akan menjalankan perintah fill dengan kredensial yang secara otomatis disuntikkan untuk proyek packages/app.

    Menjalankan perintah di semua proyek

    Jika Anda berada di direktori yang tidak cocok dengan jalur proyek mana pun, perintah akan mengiterasi semua proyek yang dikonfigurasi:

    bash
    cd /path/to/monoreponpx intlayer ci push

    Ini akan menjalankan perintah push untuk setiap proyek yang dikonfigurasi di INTLAYER_PROJECT_CREDENTIALS.

    Meneruskan flag tambahan

    Anda dapat meneruskan flag apa pun ke perintah Intlayer yang mendasarinya:

    bash
    npx intlayer ci fill --verbose --mode complete

    Menggunakan di pipeline CI/CD

    Dalam konfigurasi CI/CD Anda (misalnya, GitHub Actions, GitLab CI), setel INTLAYER_PROJECT_CREDENTIALS sebagai rahasia:

    yaml
    # Contoh GitHub Actionsenv:  INTLAYER_PROJECT_CREDENTIALS: ${{ secrets.INTLAYER_PROJECT_CREDENTIALS }}steps:  - name: Isi kamus    run: npx intlayer ci fill

    GitHub Actions yang Dihasilkan

    Ketika Anda menjalankan intlayer init, Intlayer mendeteksi package manager Anda (npm, yarn, pnpm, atau bun) dan membuat dua workflow GitHub Actions di bawah .github/workflows/, dengan perintah yang sesuai dengan package manager tersebut:

    • intlayer-fill.yml — Pada setiap pull request, membangun kamus dan menjalankan intlayer fill --git-diff --mode complete untuk menghasilkan terjemahan yang hilang untuk kamus yang berubah, kemudian melakukan commit hasilnya kembali ke branch PR.
    • intlayer-test.yml — Pada setiap pull request, membangun kamus dan menjalankan intlayer test, gagal pada pemeriksaan ketika locale yang diperlukan kehilangan terjemahan.

    File workflow yang ada tidak pernah ditimpa. Untuk melewati scaffolding sepenuhnya, jalankan:

    bash
    npx intlayer init --no-github-actions

    Memberikan akses AI ke alur kerja fill

    intlayer-fill.yml yang telah digenerate memerlukan akses AI. Dua opsi tersedia (dikonfigurasi di blok env workflow):

    1. Kunci penyedia AI Anda sendiri — Tambahkan secret AI_API_KEY di pengaturan repository Anda (Settings → Secrets and variables → Actions). Workflow meneruskannya melalui --provider, --model, dan --api-key.
    2. Kunci akses Intlayer CMS — Tambahkan secret INTLAYER_CLIENT_ID dan INTLAYER_CLIENT_SECRET dan integrasikan ke dalam bagian editor intlayer.config Anda. Kunci akses CMS memberikan akses AI melalui backend Intlayer.

    Workflow intlayer-test.yml tidak memerlukan akses AI apa pun.

    Penanganan Kesalahan

    • Jika INTLAYER_PROJECT_CREDENTIALS tidak disetel, perintah akan keluar dengan kesalahan.
    • Jika INTLAYER_PROJECT_CREDENTIALS bukan JSON yang valid, perintah akan keluar dengan kesalahan.
    • Jika jalur proyek tidak ada, akan dilewati dengan peringatan.
    • Jika proyek mana pun gagal, perintah akan keluar dengan kode status bukan nol.

    Kasus Penggunaan

    • Otomasi monorepo: Menjalankan perintah Intlayer di beberapa proyek dalam monorepo
    • Pipeline CI/CD: Mengotomatisasi manajemen kamus dalam alur kerja integrasi berkelanjutan
    • Operasi massal: Melakukan operasi yang sama pada beberapa proyek Intlayer sekaligus
    • Manajemen rahasia: Mengelola kredensial dengan aman untuk beberapa proyek menggunakan variabel lingkungan

    Praktik Keamanan Terbaik

    • Simpan INTLAYER_PROJECT_CREDENTIALS sebagai rahasia terenkripsi di platform CI/CD Anda
    • Jangan pernah melakukan commit kredensial ke kontrol versi
    • Gunakan kredensial khusus lingkungan untuk berbagai lingkungan deployment
    • Putar kredensial secara teratur