Lompat ke konten

Pengaturan Masalah

Solusi untuk masalah umum ketika membuat aplikasi native dengan Capgo Cloud Build.

ā€Gagal mengunggahā€ atau ā€œKoneksi waktu outā€

Bagian berjudul ā€œā€Gagal mengunggahā€ atau ā€œKoneksi waktu outā€ā€

Gejala:

  • Proyek gagal saat mengunggah
  • Masalah waktu tunggu setelah 60 detik

Solutions:

  1. Periksa koneksi internet Anda

    Jendela terminal
    # Test connection to Capgo
    curl -I https://api.capgo.app
  2. Kurangi ukuran proyek

    • Pastikan node_modules/ tidak sedang diunggah (harus dikecualikan secara otomatis)
    • Periksa file besar di proyek Anda:
    Jendela terminal
    find . -type f -size +10M
  3. Periksa kadaluarsa URL unggah

    • URLs untuk upload akan kedaluwarsa setelah 1 jam
    • Jika Anda mendapatkan kesalahan URL yang kedaluwarsa, jalankan perintah build lagi

Gejala:

  • Waktu pembangunan melebihi waktu maksimum yang diizinkan
  • Status menampilkan timeout

Solutions:

  1. Optimalkan dependensi

    • Hapus paket npm yang tidak digunakan
    • Pilih npm prune --production sebelum membangun
  2. Cek masalah jaringan selama pembangunan

    • Beberapa dependensi mungkin mengunduh file besar selama pembangunan
    • Perhatikan ketergantungan native
  3. Jendela terminal

    Salin ke clipboard
    # iOS - check Podfile for heavy dependencies
    cat ios/App/Podfile
    # Android - check build.gradle
    cat android/app/build.gradle
  4. Solutions:

    • Jika aplikasi Anda memang memerlukan waktu lebih lama
    • Kami dapat menyesuaikan batasan untuk kasus penggunaan tertentu

ā€API kunci tidak validā€ atau ā€œTidak Berwenangā€

Bagian berjudul ā€œā€API kunci tidak validā€ atau ā€œTidak Berwenangā€ā€

Gejala:

  • Pembangunan gagal secara langsung dengan kesalahan autentikasi
  • Kode 401 atau 403

Solusi:

  1. Pastikan kunci API sudah benar

    Jendela terminal
    # Test with a simple command
    bunx @capgo/cli@latest app list
  2. Periksa izin API

    • Kunci harus memiliki write atau all izin
    • Periksa di dashboard Capgo di bawah API Keys
  3. Pastikan kunci API sedang dibaca

    Jendela terminal
    # Check environment variable
    echo $CAPGO_TOKEN
    # Or check your saved credentials file
    cat ~/.capgo-credentials/credentials.json # global
    cat .capgo-credentials.json # local (--local)
  4. Re-autentikasi

    Jendela terminal
    bunx @capgo/cli@latest login

Gejala:

  • Autentikasi berhasil tetapi ada kesalahan aplikasi spesifik

Pengaturan:

  1. Pastikan aplikasi terdaftar

    Jendela terminal
    bunx @capgo/cli@latest app list
  2. Periksa apakah ID aplikasi sesuai

    • Pastikan capacitor.config.json appId
    • Pastikan perintah menggunakan ID aplikasi yang benar
  3. Verifikasi akses organisasi

    • Cek apakah Anda berada di organisasi yang benar
    • API harus memiliki akses ke organisasi aplikasi

Gejala:

  • Pembangunan gagal selama fase tanda tangan code
  • Xcode mengeluarkan kesalahan tentang sertifikat atau profil

Pembahasan:

  1. Verifikasi jenis sertifikat sesuai dengan jenis pembangunan

    • Builds pengembangan memerlukan sertifikat pengembangan
    • Builds App Store memerlukan sertifikat distribusi
  2. Periksa sertifikat dan profil match

    Jendela terminal
    # Decode and inspect your certificate
    echo $BUILD_CERTIFICATE_BASE64 | base64 -d > cert.p12
    openssl pkcs12 -in cert.p12 -nokeys -passin pass:$P12_PASSWORD | openssl x509 -noout -subject
  3. Pastikan profil provisioningnya valid

    • Periksa tanggal kadaluarsa
    • Pastikan termasuk ID Aplikasi Anda
    • Konfirmasikan termasuk sertifikat
  4. Regenerasi kredential

    • Hapus sertifikat/profil lama
    • Buat yang baru di portal pengembang Apple
    • Re-encode dan perbarui variabel lingkungan

ā€Profil pengaturan tidak termasuk sertifikat tanda tanganā€

Judul bagian ā€œā€Profil pengaturan tidak termasuk sertifikat tanda tanganā€ā€

Gejala:

  • Xcode tidak dapat menemukan sertifikat di profil

Pembahasan:

  1. Unduh profil terbaru dari Apple

    • Pergi ke Pengembang Apple → Sertifikat, ID, dan Profil
    • Unduh profil pengaturan
    • Pastikan termasuk sertifikat Anda
  2. Periksa apakah sertifikat ada di profil

    Jendela terminal
    # Extract profile
    echo $BUILD_PROVISION_PROFILE_BASE64 | base64 -d > profile.mobileprovision
    # View profile contents
    security cms -D -i profile.mobileprovision
  3. Rekreasikan profil dengan sertifikat yang benar

    • Pada portal pengembang Apple, edit profil
    • Pastikan sertifikat distribusi Anda dipilih
    • Unduh dan re-encode

Gejala:

  • Upload ke TestFlight gagal
  • Error API key

Solutions:

  1. Verifikasi kreditensi API key

    • Periksa APPLE_KEY_ID (harus 10 karakter)
    • Periksa APPLE_ISSUER_ID (dalam format UUID)
    • Verifikasi APPLE_KEY_CONTENT telah dikodekan dengan benar dalam format base64
  2. Test API kunci secara lokal

    Jendela terminal
    # Decode key
    echo $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8
    # Test with fastlane (if installed)
    fastlane pilot list
  3. Periksa kunci API

    • Kunci memerlukan peran ā€œDeveloperā€ atau lebih tinggi
    • Verifikasi di App Store Connect → Pengguna dan Akses → Kunci
  4. Pastikan kunci tidak dicabut

    • Periksa di App Store Connect
    • Buat kunci baru jika diperlukan

Gejala:

  • Pembangunan gagal selama instalasi CocoaPods
  • Error Podfile

Solusi:

  1. Pastikan Podfile.lock telah dikomit

    Jendela terminal
    git status ios/App/Podfile.lock
  2. Tes instalasi pod secara lokal

    Jendela terminal
    cd ios/App
    pod install
  3. Periksa pod yang tidak kompatibel

    • Ulangi Podfile untuk konflik versi
    • Pastikan semua pod mendukung target pengembangan iOS Anda
  4. Bersihkan cache pod

    Jendela terminal
    cd ios/App
    rm -rf Pods
    rm Podfile.lock
    pod install
    # Then commit new Podfile.lock

Gejala:

  • Pembangunan gagal selama proses signing
  • Masalah Gradle tentang keystore

Solutions:

  1. Periksa kata sandi keystore

    Jendela terminal
    # Test keystore locally
    keytool -list -keystore my-release-key.keystore
    # Enter password when prompted
  2. Periksa variabel lingkungan

    Jendela terminal
    # Ensure no extra spaces or special characters
    echo "$KEYSTORE_STORE_PASSWORD" | cat -A
    echo "$KEYSTORE_KEY_PASSWORD" | cat -A
  3. Periksa pengkodean base64

    Jendela terminal
    # Decode and test
    echo $ANDROID_KEYSTORE_FILE | base64 -d > test.keystore
    keytool -list -keystore test.keystore

Gejala:

  • Tanda tangan gagal dengan kesalahan alias

Pemecahan masalah:

  1. Daftar alias keystore

    Jendela terminal
    keytool -list -keystore my-release-key.keystore
  2. Periksa apakah alias cocok secara tepat

    • Alias sangat sensitif terhadap huruf besar kecil
    • Periksa kesalahan ketik di KEYSTORE_KEY_ALIAS
  3. Pakai alias yang benar dari keystore

    Jendela terminal
    # Update environment variable to match
    export KEYSTORE_KEY_ALIAS="the-exact-alias-name"

Gejala:

  • Masalah kesalahan Gradle umum
  • Masalah kompilasi atau dependensi

Solusi:

  1. Test bangun secara lokal terlebih dahulu

    Jendela terminal
    cd android
    ./gradlew clean
    ./gradlew assembleRelease
  2. Periksa dependensi yang hilang

    • Ulangi pengujian build.gradle files
    • Pastikan semua plugin terdaftar di dependencies
  3. Verifikasi kompatibilitas versi Gradle

    Jendela terminal
    # Check gradle version
    cat android/gradle/wrapper/gradle-wrapper.properties
  4. Membersihkan cache Gradle

    Jendela terminal
    cd android
    ./gradlew clean
    rm -rf .gradle build

Gejala:

  • Bangunan berhasil tetapi unggahan gagal
  • Error akun layanan

Solutions: Solusi:

  1. Verify service account JSON Verifikasi akun layanan JSON

    Terminal window Jendela terminal
    # Decode and check format
    echo $PLAY_CONFIG_JSON | base64 -d | jq .
  2. Check service account permissions Periksa izin akun layanan

    • Go to Play Console → Setup → API Access Pergi ke Play Console → Pengaturan → API Akses
    • Ensure service account has access to your app Pastikan akun layanan memiliki akses ke aplikasi Anda
    • Grant ā€œRelease to testing tracksā€ permission Berikan izin ā€œRilis ke jalur uji cobaā€
  3. Verify app is set up in Play Console Periksa apakah aplikasi telah terinstal di Play Console

    • App must be created in Play Console first Aplikasi harus dibuat terlebih dahulu di Play Console
    • At least one APK must be uploaded manually initially Setidaknya satu APK harus diunggah secara manual secara awal
  4. Check API is enabled Periksa apakah API telah diaktifkan

    • Pengembang Google Play harus diaktifkan API
    • Periksa di Google Cloud Console

ā€Tidak Ditemukanā€ atau ā€œStatus Pembangunan Tidak Tersediaā€

Judul bagian ā€œā€Tidak Ditemukanā€ atau ā€œStatus Pembangunan Tidak Tersediaā€ā€

Gejala:

  • Tidak dapat memeriksa status pembangunan
  • Error ID pekerjaan

Pengaturan:

  1. Tunggu sebentar dan coba lagi

    • Pekerjaan pembangunan mungkin membutuhkan beberapa detik untuk diinisialisasi
  2. Periksa ID pekerjaan benar

    • Verifikasi ID pekerjaan dari respons pembangunan awal
  3. Periksa apakah pembangunan belum kedaluwarsa

    • Data pembangunan tersedia selama 24 jam

Gejala:

  • Pembangunan gagal sebelum proses kompilasi dimulai
  • Kesalahan file yang hilang

Pembahasan:

  1. Jalankan Capacitor sinkronisasi secara lokal

    Jendela terminal
    bunx cap sync
  2. Pastikan semua file native telah dikomit

    Jendela terminal
    git status ios/ android/
  3. Periksa file native yang diignore oleh Git

    • Tinjau .gitignore
    • Pastikan file konfigurasi penting tidak diignore

ā€Sukses dibangun tapi saya tidak melihat hasilā€

Bagian berjudul ā€œā€Sukses dibangun tapi saya tidak melihat hasilā€ā€

Gejala:

  • Pembangunan menunjukkan kesuksesan tapi tidak ada tautan download

Solusi:

  1. Periksa konfigurasi pembangunan

    • Penyimpanan artefak mungkin tidak dikonfigurasi
    • Hubungi dukungan jika akses artefak tidak tersedia untuk pembangunan Anda
  2. Untuk pengiriman TestFlight iOS

    • Periksa App Store Connect
    • Proses dapat memakan waktu 5-30 menit setelah unggahan
  3. Untuk Play Store Android

    • Periksa Play Console → Testing → Pengujian Internal
    • Proses dapat memakan waktu beberapa menit

Gejala:

  • bunx @capgo/cli@latest … Gagal di CI dengan ā€œperintah tidak ditemukanā€

Solusi:

  1. Atur Bun terlebih dahulu jadi bunx tersedia:

    - uses: oven-sh/setup-bun@v2
  2. Lalu jalankan CLI — bunx mengambilnya secara on demand, tidak perlu instalasi global:

    - run: bunx @capgo/cli@latest build request com.example.app --platform android

Gejala:

  • Variabel lingkungan kosong dalam pembangunan

Solusi:

  1. Verifikasi rahasia telah disetel

    • Pergi ke Repositori Pengaturan → Rahasia dan variabel → Aksi
    • Tambahkan semua rahasia yang diperlukan
  2. Gunakan sintaks yang benar

    env:
    CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
  3. Periksa nama rahasia sesuai

    • Nama sangat sensitif terhadap huruf besar/kapital
    • Tidak ada kesalahan tipe dalam referensi rahasia
Jendela Terminal
# Add debug flag (when available)
bunx @capgo/cli@latest build request com.example.app --verbose

Ketika menghubungi dukungan, termasuk:

  1. Perintah pembangunan yang digunakan

    Jendela Terminal
    bunx @capgo/cli@latest build request com.example.app --platform ios
  2. Pesan kesalahan (output penuh)

  3. ID pekerjaan (dari output pembangunan)

  4. Log pembangunan (salin output terminal penuh)

  5. Info lingkungan

    Jendela terminal
    node --version
    npm --version
    bunx @capgo/cli@latest --version

Keterbatasan saat ini:

  • Waktu pembangunan maksimum: 10 menit
  • Ukuran unggahan maksimum: ~500MB
  • Build iOS memerlukan sewa Mac selama 24 jam, bangun pada Mac akan antrian untuk memastikan penggunaan optimal
  • Ketersediaan download artifact build bergantung pada tujuan build dan konfigurasi penyimpanan artifact

Keterbatasan ini mungkin disesuaikan berdasarkan umpan balik.