Lompat ke konten utama

Mengatur CI/CD untuk Aplikasi Capacitor

Belajar bagaimana mempercepat rilis aplikasi Anda untuk iOS dan Android menggunakan alur CI/CD, meningkatkan efisiensi dan mengurangi kesalahan.

Mengatur CI/CD untuk Aplikasi Capacitor

Apakah Anda ingin rilis aplikasi yang lebih cepat dan bebas kesalahan untuk iOS dan Android? Alur CI/CD untuk Capacitor Mengatur Otomatisasi Pembangunan, Pengujian, dan Pengiriman, Membuang Waktu Rilis hingga 70% dan Mengurangi Kesalahan 60% Capgo.

Pentingnya Otomatisasi Pembangunan dan Pengiriman

  • Mengapa Otomatisasi Pembangunan dan Pengiriman Penting untuk __CAPGO_KEEP_0__ Aplikasi Capacitor appsAlat-Alat Penting
  • Xcode: Android Studio, CocoaPods, dan lain-lain.__CAPGO_KEEP_0__
  • Pengaturan Pipa: Otomatisasi tugas seperti npx cap sync, caching dependensi, dan pembangunan spesifik platform.
  • Update Hidup dengan Capgo: Aktifkan update setelah rilis dengan peluncuran fase dan keamanan rollback.

Langkah-Langkah Pengaturan Cepat:

  1. Persiapkan Lingkungan Anda: Pasang alat-alat yang diperlukan untuk iOS dan Android.
  2. Pengaturan Projek Anda: Perbarui capacitor.config.ts dan kelola variabel lingkungan secara aman.
  3. Pipa PembangunanAutomasi instalasi dependensi, pembangunan, dan pengujian untuk kedua platform.
  4. Optimalkan kinerja.: Gunakan caching, pembangunan paralel, dan alur kerja kondisional.
  5. Tambahkan pembaruan hidup.: Integrasi Capgo untuk pembaruan 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 mengoptimalisasi alur kerja Anda? Mari kita mulai!

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

Mengatur Lingkungan CI/CD Anda

: Langkah selanjutnya setelah Anda memahami dasar-dasar CI/CD adalah mengatur lingkungan Anda. Ini adalah inti dari automasi yang dapat diandalkan.

Pengaturan Alat dan Perangkat Lunak

: Pastikan Anda telah menginstal alat-alat kunci ini:

For Pengembangan iOS:

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

For Pengembangan Android:

  • Sistem Android Studio
  • Sistem Android SDK 33 atau di atas
  • Paket Pengembang Java (JDK)

Untuk memastikan Xcode Command Line Tools Anda telah terinstal, gunakan:

xcode-select -p

Membuat sebuah Capacitor Proyek

Capacitor Dokumentasi Framework Website

Proyek Anda Capacitor harus dikonfigurasi dengan benar untuk alur kerja CI/CD. File ini merupakan inti dari pengaturan ini: capacitor.config.ts File ini memastikan proyek Anda sesuai dengan persyaratan CI/CD.

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

Mengatur Variabel Lingkungan

Menangani kredential dengan aman merupakan bagian penting dari menghubungkan pengaturan lingkungan dengan alur kerja CI/CD.

Variabel Utama untuk Didefinisikan:

: Menentukan tahap pengiriman (misalnya,

  • BUILD_ENV: Sertifikat tanda tangan __CAPGO_KEEP_0__ Anda production)
  • IOS_SIGNING_IDENTITY: Your code signing certificate
  • ANDROID_KEYSTORE_PATHUntuk pembangunan Android, secara dinamis buat

__CAPGO_KEEP_0__ local.properties file selama proses CI:

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

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

To cek apakah lingkungan Anda sudah siap:

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

Pengelolaan kunci dan kredential yang tepat dapat mengurangi kemungkinan penolakan aplikasi di toko, seperti yang disebutkan dalam statistik sebelumnya [1].

Membuat Pipa CI/CD

Setelah lingkungan Anda siap, langkah berikutnya adalah mengatur pipa CI/CD untuk aplikasi Anda CapacitorPipeline ini harus mengelola dengan efektif baik aset web maupun build platform native.

Menginstal dan Mengupdate Dependensi

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

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

Menggunakan caching dependensi dapat mempercepat proses build. Misalnya, Azure DevOps Warga telah melihat waktu pembangunan meningkat 40-60% dengan konfigurasi 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 Pengiriman

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 pengiriman, atur pengelolaan artefak spesifik platform:

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

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

Sudahkah Anda memvalidasi dan mengemas bangunannya? Sekarang Anda siap untuk melanjutkan ke pembaruan hidup dengan Capgo (dibahas dalam bagian berikutnya).

sbb-itb-f9944d2

Mengambahkan Capgo untuk Pembaruan Hidup

Capgo Dashboard Interface Pembaruan Hidup

Integrasi Capgo ke dalam alur kerja Anda meningkatkan proses CI/CD dengan memungkinkan pembaruan setelah rilis. Berikut cara mengaturnya:

Konfigurasi Capgo Pipeline

Pertama, instal __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ di lingkungan pipeline Anda: Capgo CLI Selanjutnya, termasuk perintah unggah setelah langkah-langkah pembangunan:

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

Untuk pembaruan __CAPGO_KEEP_2__ yang aman, konfigurasi pengaturan validasi seperti ini: __CAPGO_KEEP_3__ __CAPGO_KEEP_4__

__CAPGO_KEEP_5__

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

__CAPGO_KEEP_6__ __CAPGO_KEEP_7____CAPGO_KEEP_8__

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

Capgo Panduan Umum Fitur

Fitur Deskripsi
Enkripsi Akhir ke Akhir context
Mengurangi kesalahan penginstalan secara signifikan. Penyebaran Berdasarkan Saluran
Mengadaptasi pembaruan ke lingkungan tertentu. Rollout Berperingkat

Mengatur pembaruan agar didistribusikan secara bertahap.

Pedoman Pembaruan OTA

Meningkatkan proses pengujian Anda dengan mengikuti metrik kunci ini setelah penginstalan:

Gunakan roll-out yang terstruktur untuk mengontrol bagaimana pembaruan disebarluaskan:

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

Pengawasan Pembaruan

Perhatikan kinerja ini:

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

Jika kegagalan melebihi tingkat yang dapat diterima, otomatis alihkan ke versi sebelumnya:

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

Meningkatkan Kinerja Pipa

Mengfokuskan pada tiga area utama dapat menghasilkan perbaikan yang signifikan pada pipa Anda:

Optimasi Kecepatan Pembangunan

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

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

Pembangunan ini memastikan bahwa hanya komponen yang diperlukan saja yang dibangun, sehingga mempercepat proses.

Pengaturan Kontrol Versi

Mengatur kontrol versi secara otomatis dapat memudahkan alur kerja Anda. Gunakan skrip berikut untuk mengatur 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

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 mengikuti dan meningkatkan kinerja pipa melalui metrik seperti:

  • Waktu pembangunan per tahap
  • Effisiensi cache (rasio ketukan/tidak ketukan)
  • Penggunaan sumber daya puncak

Pengaturan Lingkungan Multi

Menangani beberapa lingkungan dapat disederhanakan dengan menggunakan konfigurasi spesifik lingkungan. Berikut contoh pengaturan:

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

Kamu dapat mengonfigurasi lingkungan secara dinamis dengan script 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

Menggabungkan konfigurasi ini dengan Capgo’s channel-based deployment memungkinkan update yang lebih tepat dan spesifik lingkungan. Hal ini memastikan peluncuran yang lebih halus dan kontrol yang lebih baik atas perilaku aplikasi di berbagai lingkungan.

Ringkasan

Peran CI/CD dalam Pengembangan

Menggunakan alur 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 pembangunan iOS dan Android secara bersamaan [3]. Tugas otomatis seperti instalasi dependensi dan sinkronisasi platform mengurangi kesalahan penginstalan dengan 40-60% [1][2].

For instance, teams leveraging Azure DevOps pipelines have automated processes such as sequential build steps and Xcode packaging. They also use parameterized environments for both development and production. This approach removes the need for manual Gradle and Xcode CLI operations, ensuring reliable artifact creation every time.

These improvements lay the groundwork for streamlined update management when paired with Capgo.

Pengelolaan Update dengan Capgo

Pengelolaan Update dengan Capgo bekerja secara lancar dengan pipeline CI/CD untuk mengirimkan update instan sambil tetap memenuhi kebijakan toko aplikasi. Update hanya diinstal setelah melewati tes otomatis yang dibangun ke dalam pipeline.

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

Strategi umum melibatkan peluncuran jalur pengiriman parallel. Pembangunan otomatis digunakan untuk pengujian internal, sementara peluncuran fase mengarah ke segmen pengguna. Ini memastikan update yang cepat dan aman, didukung oleh tes otomatis yang ketat [1].

Pertanyaan Umum

Membuat aplikasi Capacitor bagaimana?

Membuat aplikasi Capacitor melibatkan beberapa langkah yang sederhana:

  1. Set up lingkungan: Pasang Node.js dan npm di 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: Pastikan web code Anda sejalan dengan platform native dengan menjalankan:

    npx cap sync

Langkah sinkronisasi ini sangat penting untuk menjaga konsistensi aplikasi Anda di berbagai platform dan memastikan operasi yang lancar di pipeline CI/CD. Untuk informasi lebih lanjut tentang mengatur lingkungan, lihat bagian Tools.

Teruskan dari Setting Up CI/CD untuk Aplikasi Capacitor

Jika Anda menggunakan Setting Up CI/CD untuk Aplikasi Capacitor untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Capgo Otomatisasi CI/CD untuk alur kerja produk di Capgo Otomatisasi CI/CD, Capgo Pembangunan Native untuk alur kerja produk di Capgo Pembangunan Native, Capgo Integrasi untuk alur kerja produk di Capgo Integrasi, CI/CD Integration untuk detail implementasi di CI/CD Integration, dan GitHub Integrasi Aksi untuk detail implementasi di GitHub Integrasi Aksi

Update 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 review normal.

dukungan manusia dari Martin

Mulai Sekarang

Terbaru dari Blog Kami

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