Lompat ke konten utama

Cara Mengatur Skrip Pembangunan dengan Capacitor CLI

Pelajari cara mengatur skrip pembangunan Anda menggunakan Capacitor CLI untuk pengiriman yang efisien dan pembaruan aplikasi yang disesuaikan di berbagai platform.

Martin Donadieu

Martin Donadieu

Pengembang Konten

Cara Mengatur Skrip Pembangunan dengan Capacitor CLI

Capacitor CLI memungkinkan Anda untuk mengatur proses pembangunan aplikasi Anda untuk platform iOS, Android, dan web. Dengan mengatur skrip pembangunan, Anda dapat:

  • Meningkatkan KinerjaPush perubahan secara instan tanpa adanya penundaan dari toko aplikasi.
  • Mengontrol peluncuran: Kembali ke versi sebelumnya atau targetkan kelompok pengguna tertentu.
  • Mengamankan aplikasi: Gunakan enkripsi untuk melindungi update.
  • Mengoptimalkan pembangunan: Sesuaikan pengaturan untuk kebutuhan spesifik platform.

Ringkasan Cepat Fitur Utama:

  • File Konfigurasi: Gunakan capacitor.config.json dan package.json untuk mengelola pengaturan pembangunan.
  • Skrip Kustom: Tambahkan tugas prebuild dan postbuild untuk otomatisasi.
  • Build Hooks: Jalankan code pada tahap-tahap tertentu dari proses pembangunan.
  • Environment Variables: Sederhanakan pembangunan yang spesifik dengan .env files.

Capgo, alat pengembangan, memperluas proses ini dengan automated updates, pengawasan versi, dan optimasi kinerja global. Baca terus untuk mengetahui cara mengatur dan mengcustomisasi skrip pembangunan Anda untuk efisiensi maksimum.

Introducing Capacitor Konfigurasi

Capacitor Framework Dokumentasi Website

Proses Pembangunan Default di Capacitor

Mengerti bagaimana Capacitor mengelola proses pembangunan defaultnya sangat penting jika Anda ingin mengcustominya dengan efektif. Di bawah ini, kita akan memecah proses pembangunan Capacitor CLI dan file konfigurasi utamanya.

Langkah Pembangunan Standar

Capacitor menggunakan proses langkah demi langkah untuk mengubah aplikasi web Anda menjadi build yang spesifik platform. Berikut adalah apa yang terjadi selama proses pembangunan default:

FaseDeskripsiHasil
Pembangunan WebMengompilasi aset web menggunakan alat-alat framework AndaBundle yang Diperbarui untuk Web
Salin AssetPindahkan asset web ke folder platform nativeFolder direktori asset spesifik platform
Build NativeJalankan perintah build spesifik platformBinari yang Dapat Dibangun
PengecekanPeriksa integritas dan dependensi buildStatus Build dan Peringatan

File Konfigurasi Utama

Dua file konfigurasi utama membentuk bagaimana Capacitor mengelola build Anda:

capacitor.config.json
Ini adalah file konfigurasi inti untuk proyek Capacitor Anda. File ini menetapkan parameter penting untuk pembangunan:

{
  "appId": "com.example.app",
  "appName": "MyApp",
  "webDir": "dist",
  "bundledWebRuntime": false,
  "plugins": {
    "SplashScreen": {
      "launchShowDuration": 3000
    }
  }
}
  • appId: Identifikasi unik untuk aplikasi Anda.
  • appName: Nama aplikasi Anda.
  • webDir: Menentukan di mana Capacitor harus mencari aset web (misalnya dist).
  • plugins: Memungkinkan Anda untuk mengonfigurasi pengaturan plugin khusus, seperti opsi SplashScreen.

package.json
File ini mencakup skrip pembangunan dan dependensi yang mempengaruhi proses pembangunan:

{
  "scripts": {
    "build": "npm run build:web && cap sync",
    "build:web": "vite build",
    "cap:build": "cap build"
  }
}
  • Pengaturan webDir dalam capacitor.config.json menunjukkan ke Capacitor di mana lokasi aset web yang dikompilasi untuk dimasukkan dalam pembangunan native.
  • Setelah membuat perubahan pada capacitor.config.jsonanda perlu menjalankan cap sync untuk memastikan proyek asli Anda diperbarui.

Selanjutnya, kita akan menjelajahi cara Anda dapat mengubah pengaturan ini untuk mempersonalisasi pembangunan Anda lebih lanjut.

Pengaturan Skrip Pembangunan

anda dapat menyesuaikan proses pembangunan Capacitor default untuk lebih sesuai dengan kebutuhan proyek Anda. Berikut adalah cara:

Pengaturan File Konfigurasi

anda dapat menyesuaikan proses pembangunan dengan mengedit capacitor.config.json file. Berikut adalah contoh konfigurasi:

{
  "appId": "com.example.app",
  "webDir": "www",
  "server": {
    "hostname": "localhost",
    "androidScheme": "https",
    "iosScheme": "https",
    "allowNavigation": ["*.example.com"]
  },
  "android": {
    "buildOptions": {
      "keystorePath": "release.keystore",
      "keystorePassword": "mypassword",
      "keystoreAlias": "release",
      "keystoreAliasPassword": "mypassword"
    }
  },
  "ios": {
    "scheme": "App",
    "automaticProvisioning": true
  }
}

Berikut adalah beberapa pengaturan kunci yang dapat Anda modifikasi:

  • webDir: Menentukan lokasi aset web yang dikompilasi Anda.
  • server: Mengonfigurasi server pengembangan, termasuk hostname dan izin navigasi.
  • android/ios: Mengizinkan pengaturan pembangunan spesifik platform, seperti detail keamanan Android atau pilihan pengaturan iOS.

Membuat NPM Skrip

Untuk mempercepat alur kerja Anda, tambahkan skrip NPM kustom ke file Anda. Contoh berikut: package.json dan

{
  "scripts": {
    "prebuild": "node ./scripts/prepare-env.js",
    "build": "npm run build:web && cap sync",
    "build:web": "vite build",
    "build:ios": "cap build ios --release",
    "build:android": "cap build android --release",
    "postbuild": "node ./scripts/notify-completion.js"
  }
}
  • prebuild : Gunakan untuk tugas seperti mengatur lingkungan atau mengirimkan pemberitahuan ketika proses build selesai. postbuild: Perintah khusus platform untuk membangun aplikasi Android atau iOS.
  • build:platformAnda dapat meningkatkan otomatisasi dengan menambahkan hook build.

Pengaturan Hook Build

Untuk kontrol yang lebih lanjut, gunakan hook build untuk menjalankan __CAPGO_KEEP_0__ kustom pada titik tertentu selama proses build. Contoh pengaturan berikut:

For more advanced control, use build hooks to execute custom code at specific points during the build process. Here’s an example setup in capacitor.config.ts:

import { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
  appId: 'com.example.app',
  plugins: {
    CapacitorHooks: {
      beforeBuild: async () => {
        console.log('Running pre-build tasks...');
        // Add your pre-build tasks here
      },
      afterBuild: async () => {
        console.log('Running post-build tasks...');
        // Add your post-build tasks here
      }
    }
  }
};

export default config;

Mengvalidasi persyaratan sebelum proses build dimulai

  • Mengubah aset selama proses
  • Mengubah aset selama proses
  • Tetapkan notifikasi pada titik-titik kunci
  • Perbarui nomor versi secara otomatis
  • Jalankan tes otomatis dengan lancar

Pendekatan ini memberikan fleksibilitas dan kontrol yang lebih besar atas seluruh siklus pembangunan.

Pengaturan Pembangunan Lanjutan

Ketika bekerja pada proyek yang lebih besar, memperhalus proses pembangunan dapat membuat perbedaan besar. Berikut cara mengatasi pembangunan spesifik lingkungan dan pengaturan platform dengan efektif.

Variabel Lingkungan

Tetapkan variabel lingkungan dengan membuat file yang berbeda untuk setiap lingkungan: .env Lalu, atur skrip pembangunan Anda untuk memuat file yang sesuai berdasarkan lingkungan:

  • .env.development
  • .env.staging
  • .env.production

Anda dapat mengatur ulang pengaturan ini untuk menyesuaikan dengan kebutuhan spesifik platform.

import { defineConfig } from '@capacitor/cli';

export default defineConfig({
  ios: {
    buildConfig: {
      environment: process.env.BUILD_ENV || 'development',
      configurations: {
        development: {
          signing: {
            debug: true,
            automaticProvisioning: true
          }
        },
        production: {
          signing: {
            release: true,
            provisioningProfile: 'dist/profile.mobileprovision'
          }
        }
      }
    }
  }
});

Pembangunan Spesifik Platform

Pengaturan yang lebih lanjut dapat disesuaikan untuk menyesuaikan kebutuhan spesifik platform.

Untuk mengatur bangunan untuk Android dan iOS, gunakan struktur berikut:

const platformConfig = {
  android: {
    buildType: process.env.BUILD_TYPE || 'debug',
    keystoreConfig: {
      path: process.env.KEYSTORE_PATH,
      password: process.env.KEYSTORE_PASSWORD,
      alias: process.env.KEYSTORE_ALIAS
    }
  },
  ios: {
    scheme: process.env.APP_SCHEME || 'App',
    xcodePreferences: {
      automaticSigning: false,
      developmentTeam: process.env.DEVELOPMENT_TEAM
    }
  }
};

Konfigurasi-konfigurasi ini memungkinkan Anda untuk menyesuaikan bangunan untuk setiap platform, sehingga proses pengiriman menjadi lebih lancar.

FiturAndroidiOS
Simbol DebugProGuard file mappingfile dSYM
Variasi Bangunandebug, rilis, tahap pengujiandebug, rilis, tahap pengujian
Code SigningPengelolaan KeystoreManajemen Profil Pengaturan
Pengelolaan AssetOptimasi res/drawableKatalog Asset

Tips tambahan untuk mengoptimalkan build Anda termasuk:

  • Menggunakan pembaruan parsial untuk menghemat waktu selama proses pengiriman
  • Mengatur pengawasan kesalahan untuk cepat mengidentifikasi masalah
  • Membuat sistem saluran untuk versi pengujian beta
  • Mengaktifkan enkripsi ujung ke ujung untuk distribusi yang lebih aman

Ketika digabungkan dengan alat seperti Capgo untuk analitis dan pembaruan yang lebih aman, teknik-teknik ini memberikan Anda lebih banyak kontrol atas proses pengiriman Anda [1].

Masalah Skrip Pembangunan & Solusi

Ketika bekerja dengan konfigurasi pembangunan khusus, menangani kesalahan dengan cepat sangat penting untuk menjaga proses pembangunan berjalan lancar.

Perbaiki Kesalahan Umum

Banyak masalah skrip pembangunan berasal dari pengaturan lingkungan atau masalah dependensi. Berikut cara menangani beberapa masalah umum:

Variabel Lingkungan Hilang

Jika Anda mengalami kesalahan seperti ini:

error: Cannot find environment configuration for BUILD_ENV

Anda dapat memperbaikinya dengan membuat sebuah .env.local file di direktori root proyek Anda. Berikut contoh:

BUILD_ENV=development
CAPACITOR_PLATFORM=ios
BUILD_TYPE=debug

Gagal Pembangunan Spesifik Platform

Untuk kesalahan tanda tangan Android, gunakan perintah ini:

npx cap build android --keystorePassword=$KEYSTORE_PASSWORD --keystoreAlias=$KEYSTORE_ALIAS

Untuk masalah profil pengaturan iOS, coba ini:

npx cap build ios --configuration=release --type=development
Jenis KesalahanAlasan UmumPemecahan Masalah
Konfigurasi Tanda TanganDetail keystore hilangSetel KEYSTORE_PATH dan kreditensi
Lingkungan PembangunanVariabel-variabel tidak terdefinisiBuat file spesifik platform .env Ketergantungan
Perbedaan versi__CAPGO_KEEP_0__Perbarui package.json dan sinkronkan

Setelah menerapkan perbaikan, pastikan perubahan Anda stabil dengan menjalankan tes build yang menyeluruh.

Skrip Uji Build

Setelah kesalahan diselesaikan, validasi skrip build Anda dengan langkah-langkah berikut:

  • Verifikasi Otomatis: Jalankan perintah kunci untuk memastikan proses build berjalan seperti yang diharapkan.
npm run build
npx cap sync
npx cap copy
  • Validasi Lingkungan: Periksa variabel lingkungan yang hilang sebelum memulai build.
const requiredVars = ['BUILD_ENV', 'KEYSTORE_PATH'];
requiredVars.forEach(varName => {
  if (!process.env[varName]) {
    throw new Error(`Missing required env var: ${varName}`);
  }
});
  • Debug Skrip Build: Tambahkan skrip yang rinci untuk menangkap potensi masalah selama build.
{
  "scripts": {
    "build:debug": "NODE_ENV=development npx cap build --verbose",
    "build:release": "NODE_ENV=production npx cap build --verbose"
  }
}

Tips tambahan untuk uji coba:

  • Gunakan Docker untuk mengisolasi pembangunan.
  • Validasi file konfigurasi sebelum memulai proses.
  • Test dengan beberapa versi Node.js .
  • Pastikan persyaratan platform khusus dipenuhi.
  • Perhatikan kinerja pembangunan untuk kemungkinan perbaikan.

Capgo Fitur Pembangunan

Capgo Dashboard Perbarui Hidup Interface

Capgo meningkatkan skrip pembangunan ke tingkat berikutnya dengan pengiriman otomatis, meningkatkan efisiensi dan memudahkan proses.

Pembaruan Aplikasi Cepat

Capgo’s kinerja pembaruan sangat impresif:

  • 95% pengguna aktif menerima pembaruan dalam waktu 24 jam.
  • 82% tingkat kesuksesan untuk pengiriman pembaruan di seluruh dunia.
  • Waktu respons API rata-rata 434ms secara global.

Platform ini menggunakan pembaruan parsial, yang berarti hanya perubahan yang diunduh. Pendekatan ini mengurangi penggunaan bandwidth dan mempercepat proses pembaruan. Selain itu, proses pembangunan secara keseluruhan sepenuhnya otomatis, menyelamatkan waktu dan upaya.

Automasi Pembangunan

Capgo bekerja dengan lancar dengan platform CI/CD utama, menawarkan berbagai integrasi:

Platform Integrasi CI/CDFitur IntegrasiKeuntungan
GitHub AksiPembangunan Otomatis, Trigger DeployPengembangan Terus Menerus
GitLab CIAutomasi Pipa, Pengendalian VersiAlur Kerja yang Terstruktur
JenkinsAlur Kerja Kustom, Hook PembangunanDapat Diperluas untuk Perusahaan Raksasa

Mengatur bangunan otomatis biasanya memerlukan biaya sekitar $300 per bulan, yang jauh lebih hemat biaya dibandingkan dengan solusi tradisional yang dapat mencapai $6,000 setahun.

Standar Keamanan

Capgo memprioritaskan keamanan dengan kerangka kerja yang kuat yang mencakup:

  • Enkripsi akhir-ke-akhir untuk paket update.
  • Manajemen kunci yang aman.
  • Kemampuan kompatibilitas dengan pedoman Apple dan Google.

Fitur Pengendalian Versi

  • Opsi rollback instan.
  • Pantauan versi pengembangan.
  • Manajemen saluran pembaruan untuk rilis yang disiapkan.

Rangkaian keamanan ini telah diuji secara ketat di atas ratusan aplikasi perusahaan. Untuk tim yang membutuhkan keamanan tambahan, Capgo juga menawarkan solusi self-hosted dengan konfigurasi yang dapat disesuaikan.

Rangkaian saluran Capgo membuat distribusi pembaruan fleksibel. Pengembang dapat menargetkan kelompok pengguna tertentu dengan versi yang berbeda, sempurna untuk tes beta atau peluncuran bertahap.

Ringkasan

Ringkasan Langkah Pembangunan

Skrip pembangunan yang dapat disesuaikan memungkinkan pengembangan otomatis dan konsisten dengan menggunakan hook pembangunan, variabel lingkungan, dan perintah spesifik platform. Proses-proses ini menciptakan dasar yang kuat untuk perbaikan pengiriman yang mungkin dilakukan dengan Capgo.

Kelebihan Capgo

Capgo memudahkan pengiriman, telah berhasil mengirimkan lebih dari 23,5 juta pembaruan di atas 750 aplikasi produksi. [1] Sistem pembaruan parsialnya mengurangi penggunaan bandwidth dan waktu pengiriman.

Platform ini menyediakan pembaruan cepat, optimasi kinerja global, enkripsi akhir-ke-akhir untuk keamanan, dan sistem distribusi saluran yang fleksibel. Konfigurasi ini mendukung pembaruan yang ditargetkan, tes beta, dan konsistensi dengan pedoman aplikasi toko sambil menjaga kerangka keamanan yang kuat.

Teruskan dari Cara Mengcustomisasi Skrip Pembangunan dengan Capacitor CLI

Jika Anda menggunakan Bagaimana Cara Mengatur Skrip Pembangunan dengan Capacitor CLI untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Capgo CI/CD untuk alur kerja produk di Capgo CI/CD, Capgo Pembangunan Natively untuk alur kerja produk di Capgo Pembangunan Natively, Capgo Integrasi untuk alur kerja produk di Capgo Integrasi, Integrasi CI/CD untuk detail implementasi di Integrasi CI/CD, dan GitHub Integrasi Aksi untuk detail implementasi di GitHub Integrasi Aksi.

Mulai Sekarang

Capgo gives you the best insights you need to create a truly professional mobile app.