Lompat ke konten utama

Mengatur CI/CD untuk Aplikasi Capacitor

Pelajari cara mempercepat proses rilis aplikasi Anda untuk iOS dan Android menggunakan pipeline CI/CD, meningkatkan efisiensi dan mengurangi kesalahan.

Martin Donadieu

Martin Donadieu

Pemasar Konten

Mengatur CI/CD untuk Aplikasi Capacitor

Inginkan rilis aplikasi yang lebih cepat dan bebas kesalahan untuk iOS dan Android? Mengapa CI/CD penting untuk aplikasi Aplikasi Capacitor mengotomatisasi pembangunan, pengujian, dan pengiriman, mengurangi waktu rilis hingga 70% dan kesalahan 60%. Panduan ini mencakup segala yang Anda butuhkan, dari mengatur lingkungan hingga mengotomatisasi pembaruan hidup dengan Capgo.

Kunci Pemahaman:

  • Mengapa CI/CD penting untuk aplikasi Capacitor: Meningkatkan pembangunan dengan 78% dan mengurangi penolakan toko oleh 60%.
  • Alat yang Paling Penting: Xcode, Android Studio, CocoaPods, dan lain-lain.
  • Pengaturan Pipa: Otomatisasi tugas seperti npx cap sync, dependency caching, and platform-specific builds.
  • Live updates with CapgoPembaruan Langsung dengan __CAPGO_KEEP_0__

: Aktifkan pembaruan pasca-rilis dengan peluncuran fase dan perlindungan rollback.

  1. Langkah-Langkah Pengaturan Cepat:,
  2. Konfigurasi proyek Anda: Perbarui capacitor.config.ts dan manajemen variabel lingkungan secara aman.
  3. Pipeline Pembangunan: Otomatisasi instalasi dependensi, pembangunan, dan pengujian untuk kedua platform.
  4. Optimalkan Kinerja: Gunakan caching, pembangunan paralel, dan alur kerja kondisional.
  5. Tambahkan Update Langsung: Integrasi Capgo untuk update OTA yang aman dengan peluncuran fase.

Dengan CI/CD, aplikasi Capacitor mencapai rilis yang lebih cepat, lebih halus, sambil mengurangi kesalahan dan intervensi manual. Siap untuk mengoptimalkan alur kerja Anda? Mari kita mulai!

Integrasikan Pipa CI/CD Anda yang Sedia Ada dengan Kemampuan Mobile

Persiapan Lingkungan CI/CD Anda

Setelah Anda memiliki dasar-dasar CI/CD, langkah berikutnya adalah mengatur lingkungan Anda. Ini adalah inti dari otomatisasi yang dapat diandalkan.

Pengaturan Alat dan Perangkat Lunak

Pastikan Anda memiliki alat-alat kunci ini terinstal:

Untuk Pengembangan iOS:

  • Xcode 14 atau yang lebih baru
  • Xcode Command Line Tools
  • CocoaPods untuk mengelola dependensi

Untuk Pengembangan Android:

  • Android Studio
  • Android SDK 33 atau di atasnya
  • Kit Pengembang Java (JDK)

Untuk memastikan alat perintah Xcode Anda terinstal, gunakan:

xcode-select -p

Membuat sebuah Capacitor Dokumentasi Situs Web Framework __CAPGO_KEEP_0__

Project Capacitor Anda perlu dikonfigurasi dengan benar untuk alur kerja CI/CD. File ini adalah inti dari pengaturan ini:

Your Capacitor project needs to be configured correctly for CI/CD workflows. The capacitor.config.ts Menyiapkan Variabel Lingkungan

const config: CapacitorConfig = {
  appId: 'com.example.app',
  webDir: 'build',
  ios: { 
    scheme: 'MyApp'
  }
}

Mengelola kredit dengan aman adalah bagian kunci dari menghubungkan pengaturan lingkungan dengan alur kerja CI/CD.

Variabel Utama untuk Didefinisikan:

Membuat sebuah

Dokumentasi Situs Web Framework __CAPGO_KEEP_0__

  • BUILD_ENV: Menetapkan tahap pengembangan (misalnya, production)
  • IOS_SIGNING_IDENTITY: Sertifikat tanda tangan Anda code
  • ANDROID_KEYSTORE_PATH: Jalur ke keystore Android Anda

For Android builds, secara dinamis menghasilkan sebuah local.properties file selama proses CI:

echo "sdk.dir=$ANDROID_SDK_ROOT" > android/local.properties

Ketika bekerja dengan iOS builds, pastikan platform CI Anda mendukung agent macOS.

To check if lingkungan Anda sudah siap:

node --version | grep "v16" && xcodebuild -version | grep "Xcode 14" || exit 1

Menangani kunci dan kredential dengan benar dapat secara signifikan mengurangi kemungkinan penolakan aplikasi di toko aplikasi, seperti yang disebutkan dalam statistik sebelumnya [1].

Membuat Pipa CI/CD Anda

Saat lingkungan Anda sudah siap, langkah berikutnya adalah mengatur pipa CI/CD untuk aplikasi Capacitor Anda. Pipa ini harus dapat mengelola dengan efisien baik aset web maupun bangunan platform native.

Menginstal dan Mengupdate Dependensi

Dalam lingkungan CI/CD, mengelola dependensi memerlukan pengawasan versi yang ketat. Mulai dengan proses instalasi yang bersih:

npm install --ignore-scripts
npm install @capacitor/cli

Untuk mempercepat pembangunan, gunakan caching dependensi. Misalnya, Azure DevOps pengguna telah melihat waktu pembangunan meningkat 40-60% dengan pengaturan ini:

- task: Cache@2
  inputs:
    key: 'npm | "$(Agent.OS)" | package-lock.json'
    path: |
      node_modules
      android/.gradle
      ios/Pods

Pengaturan Pembangunan iOS dan Android

Berikut cara mengkonfigurasi pembangunan untuk kedua platform:

Pengaturan Konfigurasi Pembangunan iOS

steps:
  - task: InstallAppleCertificate@2
    inputs:
      certSecureFile: 'certificate.p12'
      certPwd: $(P12_PASSWORD)
  - script: |
      xcodebuild -workspace ios/App/App.xcworkspace -scheme App -configuration Release -archivePath ios/App/App.xcarchive archive

Pengaturan Konfigurasi Pembangunan Android

cd android
./gradlew bundleRelease

Langkah-Langkah Pengujian dan Pengembangan

Jalankan pengujian platform secara paralel menggunakan strategi matrix:

test:
  steps:
    - run: npm run test:unit
    - run: npm run test:e2e
    - name: Run Platform Tests
      matrix:
        platform: [ios, android]
      run: npm run test:${{ matrix.platform }}

Untuk pengembangan, atur penanganan artifact yang spesifik platform:

Platform Jenis Artifact Saluran Distribusi
iOS .ipa App Store Connect
Android .aab Google Play Console

Menggunakan pembangunan parallel dapat mengurangi signifikan waktu eksekusi pipeline ketika dikonfigurasi dengan benar.

Setelah pembangunan Anda diverifikasi dan dikemas, Anda siap untuk melanjutkan ke pembaruan hidup dengan Capgo (dibahas di bagian berikutnya).

sbb-itb-f9944d2

Mengambahkan Capgo untuk Update Hidup

Capgo Dashboard Interface Update Hidup

Mengintegrasikan Capgo ke dalam alur kerja Anda meningkatkan proses CI/CD Anda dengan memungkinkan update setelah rilis. Berikut cara mengaturannya:

Capgo Konfigurasi Pipa

Pertama, instal Capgo CLI dalam lingkungan pipeline Anda:

steps:
  - name: Install Capgo CLI
    run: npm install -g @capgo/cli
  - name: Configure Authentication
    env:
      CAPGO_KEY: ${{ secrets.CAPGO_API_KEY }}

Penambahan ini memperluas siklus CI/CD Anda dengan mengintegrasikan manajemen update ke dalam proses pembangunan dan pengiriman otomatis.

Selanjutnya, termasuk perintah unggah setelah langkah-langkah pembangunan:

- name: Upload Update
  run: |
    capgo upload --api-key $CAPGO_KEY --bundle ./build/app-release.apk
    capgo deploy v${VERSION} --channel production

Untuk update yang aman, atur pengaturan validasi seperti ini:

{
  "verification": {
    "checksum": "strict",
    "certificatePinning": true,
    "updateTimeout": 500
  }
}

Capgo Ringkasan Fitur

Fitur Deskripsi
Enkripsi Akhir-ke-Akhir Mengurangi kesalahan pengembangan secara signifikan.
Pengiriman Berdasarkan Saluran Mengadaptasi update untuk lingkungan tertentu.
Rollout Berpahal Mengatur pembaruan untuk didistribusikan secara bertahap.

Pedoman Pembaruan OTA

Perbaiki proses pengujian Anda dengan mengikuti kunci metrik ini setelah pengembangan:

Strategi Pengembangan Berlangkah

Gunakan peluncuran berstadium untuk mengontrol bagaimana pembaruan didistribusikan:

- name: Staged Rollout
  run: |
    capgo deploy v1.2.3 --group "beta-users" --rollout 10%
    capgo deploy v1.2.3 --rollout 50%

Pemantauan Pembaruan

Perhatikan metrik ini:

  • Angka penyerapan: Tujuan 40-60% dalam waktu 24 jam pertama.
  • Sesi tanpa kegagalan: Tahan di atas 99,5%.
  • Waktu verifikasi: Pastikan waktu di bawah 500ms.

Jika crash melebihi tingkat yang dapat diterima, otomatis lakukan rollback:

- name: Rollback Check
  run: |
    if [ $(capgo stats --version v1.2.3 --metric crashes) -gt 2 ]; then
      capgo rollback --channel production
    fi

Meningkatkan Kinerja Pipa

Mengoptimalkan Kinerja Pipa dapat dilakukan dengan fokus pada tiga area utama:

Meningkatkan Kecepatan Pembangunan

Untuk perubahan web saja, menggunakan npx cap sync dapat menghemat waktu dengan melompatkan pembangunan penuh native, mengurangi waktu pembangunan sekitar 40%. Berikut cara implementasinya:

- name: Build Strategy
  run: |
    [ "$WEB_ONLY" = true ] && npx cap sync || (./gradlew assembleRelease && xcodebuild ...)

Metode ini memastikan hanya komponen yang diperlukan saja yang dibangun kembali, sehingga mempercepat proses.

Mengotomatisasi Kontrol Versi

Mengotomatisasi kontrol versi dapat memudahkan alur kerja Anda. Gunakan skrip berikut untuk menetapkan versi dan nomor pembangunan secara dinamis:

- name: Set Version
  run: |
    VERSION=$(node -p "require('./package.json').version")
    BUILD_NUMBER=$GITHUB_RUN_NUMBER
    echo "APP_VERSION=${VERSION}" >> $GITHUB_ENV
    echo "BUILD_ID=${BUILD_NUMBER}" >> $GITHUB_ENV

Selain itu, pengaturan versi semantik otomatis juga dapat diatur dengan konfigurasi ini:

{
  "scripts": {
    "version": "standard-version",
    "build:prod": "npm version patch && ionic build --prod"
  }
}

Praktik-praktik ini memberikan kerangka yang solid untuk mengukur dan meningkatkan kinerja pipa melalui metrik seperti:

  • Waktu pembangunan per tahap
  • Effisiensi cache (rasio hit/miss)
  • Penggunaan sumber daya puncak

Pengaturan Multi Lingkungan

Manajemen lingkungan yang berbeda dapat disederhanakan dengan menggunakan pengaturan spesifik lingkungan. Berikut adalah contoh pengaturan:

Lingkungan File Konfigurasi
Pengembangan .env.dev
Staging .env.staging
Produksi Gudang aman

Anda dapat mengonfigurasi lingkungan secara dinamis dengan skrip ini:

- name: Configure Environment
  env:
    API_KEY: ${{ secrets.ENV_SPECIFIC_API_KEY }}
    BUNDLE_ID: ${{ parameters.bundleId }}
  run: |
    echo "ENVIRONMENT=${{ parameters.environment }}" >> $GITHUB_ENV
    echo "API_ENDPOINT=${{ parameters.apiUrl }}" >> $GITHUB_ENV

Pairing konfigurasi ini dengan Capgo’s channel-based deployment memungkinkan pembaruan yang tepat dan spesifik lingkungan. Ini memastikan peluncuran yang lebih halus dan kontrol yang lebih baik atas perilaku aplikasi di lingkungan yang berbeda.

Ringkasan

Peran CI/CD dalam Pengembangan

Menggunakan pipeline CI/CD untuk aplikasi Capacitor secara signifikan meningkatkan efisiensi alur kerja. Menurut data industri, tim dapat mencapai 50-70% siklus rilis yang lebih cepat terima kasih pada bangun iOS dan Android yang simultan [3]. Tugas otomatis seperti instalasi dependensi dan sinkronisasi platform mengurangi kesalahan pengiriman oleh 40-60% [1][2].

Contohnya, tim yang menggunakan pipeline Azure DevOps telah mengotomatisasi proses seperti langkah-langkah pembangunan berurutan dan pengemasan Xcode. Mereka juga menggunakan lingkungan parameterisasi untuk pengembangan dan produksi. Pendekatan ini menghilangkan kebutuhan untuk operasi manual Gradle dan Xcode CLI, sehingga menciptakan artefak yang dapat diandalkan setiap kali.

Perbaikan-perbaikan ini menjadi dasar untuk pengelolaan pembaruan yang terstruktur ketika dipasangkan dengan Capgo.

Capgo untuk Pengelolaan Pembaruan

Capgo bekerja secara lancar dengan pipeline CI/CD untuk menyampaikan pembaruan instan sambil tetap memenuhi kebijakan toko aplikasi. Pembaruan hanya diterapkan setelah melewati tes otomatis yang dibangun ke dalam pipeline.

Dengan menggabungkan bangun otomatis dengan peluncuran fase, tim mencapai hasil yang impresif: 80% coverage pengguna dalam 7 hari dan kemampuan rollback dalam kurang dari satu jam.

Strategi umum melibatkan menjalankan jalur pengembangan parallel. Pembangunan otomatis digunakan untuk tes internal, sementara peluncuran berfasa menargetkan segmen pengguna. Hal ini memastikan pembaruan yang cepat dan aman, didukung oleh pengujian otomatis yang ketat [1].

FAQs

Bagaimana cara membuat aplikasi Capacitor?

Membuat aplikasi Capacitor melibatkan beberapa langkah sederhana:

  1. Sesuaikan lingkungan Anda: Pasang Node.js dan npm pada sistem Anda. Kemudian, gunakan Ionic CLI untuk memulai proyek baru dengan dukungan Capacitor :

    ionic start myApp tabs --capacitor
  2. Tambahkan dukungan platform: Tambahkan platform yang ingin Anda target, seperti iOS atau Android:

    npx cap add ios
    npx cap add android
  3. Sinkronkan web code Anda: Pastikan web code Anda sejalan dengan platform native dengan menjalankan:

    npx cap sync

Langkah sinkronisasi sangat penting untuk menjaga aplikasi Anda konsisten di berbagai platform dan memastikan operasi lancar dalam pipa CI/CD. Untuk informasi lebih lanjut tentang mengatur lingkungan Anda, silakan cek bagian Tools.

Teruskan dari Pengaturan CI/CD untuk Aplikasi Capacitor

Jika Anda menggunakan Pengaturan CI/CD untuk Aplikasi Capacitor untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Capgo CI/CD untuk alur kerja produk di Capgo CI/CD, Capgo Pembangunan Nativ untuk alur kerja produk di Capgo Pembangunan Nativ, 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.

Pembaruan Langsung untuk Aplikasi Capacitor

Ketika bug layer web masih aktif, kirimkan perbaikan melalui Capgo bukan menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan update di latar belakang sementara perubahan native tetap dalam jalur ulasan normal.

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk membuat aplikasi mobile yang profesional.