Ingin rilis aplikasi yang lebih cepat dan bebas kesalahan untuk iOS dan Android? Pipa CI/CD untuk Capacitor Aplikasi otomatis membangun, menguji, dan menginstal ulang, memotong waktu rilis hingga 70% dan mengurangi kesalahan 60%. Panduan ini mencakup segala yang Anda butuhkan, dari mengatur lingkungan hingga mengotomatisasi pembaruan hidup dengan Capgo.
Poin Utama:
- Mengapa CI/CD penting untuk Capacitor aplikasi: Meningkatkan waktu pembangunan hingga 78% dan mengurangi penolakan toko oleh 60%.
- Alat-alat penting: Xcode, Android Studio, CocoaPods, dan lain-lain.
- Pengaturan Pipa: Otomatisasi tugas seperti
npx cap sync, caching dependensi, dan pembangunan spesifik platform. - Pembaruan Langsung dengan Capgo: Aktifkan pembaruan setelah rilis dengan peluncuran fase dan keamanan rollback.
Langkah-Langkah Pengaturan Cepat:
- Persiapkan lingkungan Anda: Pasang alat-alat yang diperlukan untuk iOS dan Android.
- Konfigurasi proyek Anda: Perbarui
capacitor.config.tsdan manajemen variabel lingkungan secara aman. - Pipa Pembangunan: Otomatisasi instalasi dependensi, pembangunan, dan pengujian untuk kedua platform.
- Optimalkan kinerja: Gunakan caching, pembangunan paralel, dan alur kerja kondisional.
- Tambahkan pembaruan langsung: 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
Saat Anda telah memahami dasar-dasar CI/CD, langkah berikutnya adalah mengatur lingkungan. Ini adalah tulang punggung otomatisasi yang dapat diandalkan.
Peralatan dan Pengaturan Perangkat Lunak
Pastikan Anda telah menginstal peralatan kunci ini:
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 atas
- Java Development Kit (JDK)
Untuk memastikan Xcode Command Line Tools Anda telah terinstal, gunakan:
xcode-select -p
Membuat sebuah Capacitor Proyek

Proyek Anda Capacitor memerlukan pengaturan yang tepat untuk alur kerja CI/CD. File ini adalah inti dari pengaturan ini: capacitor.config.ts File ini menjaga agar proyek Anda sesuai dengan persyaratan CI/CD.
const config: CapacitorConfig = {
appId: 'com.example.app',
webDir: 'build',
ios: {
scheme: 'MyApp'
}
}
Pengaturan Variabel Lingkungan
Mengelola kredit dengan aman adalah bagian penting dari menghubungkan pengaturan lingkungan dengan alur kerja CI/CD.
Variabel Utama untuk Didefinisikan:
: Menentukan tahap pengembangan (misalnya,
BUILD_ENV: Sertifikat tanda tangan __CAPGO_KEEP_0__ Andaproduction)IOS_SIGNING_IDENTITY: Your code signing certificateANDROID_KEYSTORE_PATHUntuk build Android, secara dinamis generasikan
a keystore local.properties __CAPGO_KEEP_0__ file selama proses CI:
echo "sdk.dir=$ANDROID_SDK_ROOT" > android/local.properties
Ketika bekerja dengan build iOS, pastikan platform CI Anda mendukung agent macOS.
Untuk memeriksa apakah lingkungan Anda sudah siap:
node --version | grep "v16" && xcodebuild -version | grep "Xcode 14" || exit 1
Mengelola kunci dan kredensial dengan tepat dapat menurunkan kemungkinan penolakan aplikasi di toko aplikasi, seperti yang disebutkan dalam statistik sebelumnya. [1].
Membuat Pipa CI/CD
Setelah lingkungan Anda siap, langkah berikutnya adalah mengatur pipa CI/CD untuk aplikasi Capacitor. Pipa ini harus mengelola aset web dan build platform native dengan efisien.
Menginstal dan Mengupdate Dependensi
Dalam lingkungan CI/CD, mengelola dependensi memerlukan kontrol versi yang ketat. Mulai dengan proses instalasi bersih:
npm install --ignore-scripts
npm install @capacitor/cli
Untuk mempercepat build, gunakan caching dependensi. Misalnya, Azure DevOps pengguna telah melihat waktu pembangunan meningkatkan 40-60% dengan setup 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 mengatur 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 artefak spesifik platform:
| Platform | Jenis Artefak | 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 live updates dengan Capgo (dibahas di bagian berikutnya).
sbb-itb-f9944d2
Menambahkan Capgo untuk Live Updates

Mengintegrasikan Capgo ke dalam alur kerja Anda meningkatkan proses CI/CD dengan memungkinkan pembaruan setelah rilis. Berikut cara mengaturinya:
Capgo Konfigurasi Pipa
Pertama, instal Capgo CLI dalam lingkungan pipa 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 pembaruan ke dalam proses pembangunan dan pengembangan otomatis Anda.
Kemudian, 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 pembaruan yang aman, atur pengaturan validasi seperti ini:
{
"verification": {
"checksum": "strict",
"certificatePinning": true,
"updateTimeout": 500
}
}
Capgo Fitur Ringkasan
| Fitur | Deskripsi |
|---|---|
| Enkripsi Akhir ke Akhir | Mengurangi kesalahan penginstalan secara signifikan. |
| Penginstalan Berdasarkan Saluran | Mengadaptasi pembaruan untuk lingkungan tertentu. |
| Pembaruan Berdasarkan Tahap | Menjamin pembaruan didistribusikan secara bertahap. |
Pedoman Pembaruan Melalui Jaringan
Perbaiki proses tes Anda dengan mengikuti kunci metrik ini setelah penginstalan:
Strategi Penginstalan Berdasarkan Tahap
Gunakan peluncuran tahap demi tahap 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%
Pemantauan Update
Tetapkan mata Anda pada metrik-metrik ini:
- Tingkat penyerapan: Tujuan adalah mencapai 40-60% dalam waktu 24 jam pertama.
- Sesi tanpa kegagalan: Jaga di atas 99,5%.
- Waktu verifikasi: Pastikan tidak lebih dari 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
Mengfokus pada tiga area kunci dapat menyebabkan perbaikan yang dapat dilihat pada pipa Anda:
Optimasi Kecepatan Pembangunan
Untuk perubahan web saja, menggunakan npx cap sync dapat menghemat waktu dengan melompati pembangunan native penuh, 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 ...)
Dengan cara ini, hanya komponen yang diperlukan saja yang dibangun kembali, sehingga mempercepat proses.
Automasi Kontrol Versi
Mengautomasi 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, versi semantik yang diautomasi juga dapat diatur dengan konfigurasi ini:
{
"scripts": {
"version": "standard-version",
"build:prod": "npm version patch && ionic build --prod"
}
}
Praktik-praktik ini memberikan kerangka yang kuat untuk mengikuti dan meningkatkan kinerja pipa melalui metrik seperti:
- Waktu pembangunan per tahap
- Efisiensi cache (rasio ketemu/ketemu)
- Penggunaan sumber daya puncak
Pengaturan Lingkungan Multi
Mengelola beberapa lingkungan dapat disederhanakan dengan menggunakan konfigurasi spesifik lingkungan. Berikut adalah contoh pengaturan:
| Lingkungan | File Konfigurasi |
|---|---|
| Pengembangan | .env.dev |
| Pengujian | .env.staging |
| Produksi | Safelokasi |
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
Menggabungkan konfigurasi ini dengan Capgo’s channel-based deployment memungkinkan pembaruan yang 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 pipeline CI/CD untuk aplikasi Capacitor secara signifikan meningkatkan efisiensi alur kerja. Menurut data industri, tim dapat mencapai 50-70% lebih cepat siklus rilis terima kasih pada pembangunan iOS dan Android secara bersamaan [3]. Mengotomasi tugas seperti instalasi dependensi dan sinkronisasi platform mengurangi kesalahan penginstalan oleh 40-60% [1][2].
Misalnya, tim yang menggunakan Azure DevOps pipeline telah mengotomasi proses seperti langkah-langkah pembangunan berurutan dan pengemasan Xcode. Mereka juga menggunakan lingkungan parameterisasi untuk pengembangan dan produksi. Pendekatan ini menghilangkan kebutuhan untuk operasi Gradle dan Xcode CLI manual, sehingga menciptakan artefak yang dapat diandalkan setiap kali.
Perbaikan-perbaikan ini menjadi dasar untuk pengelolaan update yang terstruktur ketika digabungkan dengan Capgo.
Capgo untuk Pengelolaan Update
Capgo bekerja secara lancar dengan pipeline CI/CD untuk menyampaikan update instan sambil tetap memenuhi kebijakan toko aplikasi. Update hanya diinstal setelah melewati pintu uji otomatis yang dibangun ke dalam pipeline.
Dengan menggabungkan pembangunan otomatis dengan peluncuran fase, tim mencapai hasil yang impresif: 80% penutupan pengguna dalam 7 hari dan kemampuan rollback dalam waktu kurang dari satu jam.
Strategi umum melibatkan menjalankan jalur penginstalan parallel. Pembangunan otomatis digunakan untuk pengujian internal, sementara peluncuran fase mengarahkan segment pengguna. Ini memastikan update yang cepat dan aman, didukung oleh uji otomatis yang ketat [1].
Pertanyaan Umum
Bagaimana cara membuat sebuah Capacitor aplikasi?
Membuat sebuah Capacitor aplikasi melibatkan beberapa langkah yang sederhana:
-
Sesuaikan Lingkungan AndaInstall Node.js dan npm di sistem Anda. Kemudian, gunakan Ionic CLI untuk memulai sebuah proyek baru dengan dukungan Capacitor :
ionic start myApp tabs --capacitor -
Tambahkan dukungan platformTambahkan platform yang ingin Anda target, seperti iOS atau Android:
npx cap add ios npx cap add android -
Sinkronkan web code AndaPastikan web code Anda sejalan dengan platform native dengan menjalankan:
npx cap sync
Langkah sinkronisasi ini sangat penting untuk menjaga konsistensi aplikasi Anda di semua platform dan memastikan operasi yang lancar di pipeline CI/CD. Untuk informasi lebih lanjut tentang mengatur lingkungan Anda, lihat bagian Tools.