Integrasi CI/CD
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Integrasi Capgo ke dalam pipeline CI/CD Anda memungkinkan Anda untuk otomatisasi sepenuhnya proses pembangunan dan pengiriman perbaruan ke aplikasi Anda. Dengan memanfaatkan Capgo CLI dan semantic-release, Anda dapat memastikan pengiriman yang konsisten, dapat diandalkan, dan memungkinkan iterasi cepat.
Manfaat Integrasi CI/CD
Bab berjudul “Manfaat Integrasi CI/CD”-
Otomatisasi: Tidak perlu lagi langkah-langkah manual atau ruang untuk kesalahan manusia. Proses pembangunan, pengujian, dan pengiriman Anda dapat diotomatisasi dari awal hingga akhir.
-
Konsistensi: Setiap pengiriman mengikuti langkah-langkah yang sama, sehingga proses yang dapat diprediksi dan dapat diulang. Hal ini sangat berharga ketika Anda memiliki beberapa anggota tim yang berkontribusi code.
-
Iterasi yang Lebih Cepat: Dengan pengiriman otomatis, Anda dapat mengirimkan pembaruan lebih sering dan dengan percaya diri. Tidak perlu menunggu QA manual atau persetujuan rilis.
Capgo CLI
Judul Bagian “Capgo CLI”Capgo CLI adalah kunci untuk mengintegrasikan Capgo ke dalam alur kerja CI/CD Anda. Ini menyediakan perintah untuk mengirimkan versi bundle baru, mengelola saluran, dan lain-lain.
Perintah paling penting untuk integrasi CI/CD adalah bundle upload:
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEYJika Anda menggunakan enkripsi, Anda harus menyediakannya dari salah satu cara berikut:
Menggunakan jalur file kunci pribadi:
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-v2 PRIVATE_KEY_PATHMenggunakan konten kunci pribadi secara langsung (direkomendasikan untuk CI/CD):
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 PRIVATE_KEY_CONTENTMenggunakan variabel lingkungan (praktik terbaik untuk CI/CD):
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 "$CAPGO_PRIVATE_KEY"Mengatur Variabel Lingkungan untuk Pengenkripsi
Bab berjudul “Mengatur Variabel Lingkungan untuk Pengenkripsi”Untuk lingkungan CI/CD, disarankan untuk menyimpan kunci pribadi sebagai variabel lingkungan daripada file. Berikut cara mengaturinya:
-
Ambil konten kunci pribadi:
Jendela Terminal cat .capgo_key_v2 | pbcopyKonten kunci ini disalin ke papan klip.
-
Tambahkan ke lingkungan CI/CD Anda:
- GitHub Aksi: Tambahkan
CAPGO_PRIVATE_KEYke rahasiaan repositori Anda - GitLab CI: Tambahkan sebagai variabel tersembunyi di pengaturan proyek Anda
- CircleCI: Tambahkan sebagai variabel lingkungan di pengaturan proyek Anda
- Jenkins: Tambahkan sebagai kredit teks rahasia
- GitHub Aksi: Tambahkan
-
Pakailah di pipeline Anda:
- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"
Catatan: The --key-data-v2 flag memungkinkan Anda untuk memasukkan konten kunci pribadi secara langsung sebagai string, sehingga sangat cocok untuk variabel lingkungan di pipeline CI/CD di mana Anda tidak ingin membuat file sementara.
Ini adalah perintah untuk mengunggah build web saat ini ke saluran yang ditentukan. Anda biasanya menjalankan perintah ini sebagai langkah terakhir di pipeline CI/CD Anda, setelah build web Anda telah selesai dengan sukses.
Pengaturan Capgo di Pipeline CI/CD
Judul bagian “Pengaturan Capgo di Pipeline CI/CD”Sementara langkah-langkah pasti akan berbeda-beda tergantung pada alat CI/CD yang Anda pilih, proses umum untuk mengintegrasikan Capgo seperti ini:
-
Generate API key: Masuk ke dashboard Capgo dan buatlah kunci API baru. Kunci ini akan digunakan untuk mengautentikasi CLI di lingkungan CI/CD Anda. Simpanlah kunci ini rahasia dan jangan pernah komitkannya ke repository Anda!
-
Konfigurasi perintah
bundle uploadKonfigurasi perintah: Tambahkan langkah ke konfigurasi CI/CD Anda yang menjalankanbundle uploadperintah dengan argumen yang tepat:Gantiupload.yml - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Productiondengan saluran yang ingin Anda buat,${{ secrets.CAPGO_API_KEY }}dengan variabel lingkungan yang menyimpan kunci API Anda, dan tambahkan--key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"jika menggunakan enkripsi. -
Tambahkan
uploadlangkah setelah pembangunan web Anda: Pastikanuploadlangkah ini datang setelah pembangunan web Anda telah selesai dengan sukses. Hal ini memastikan Anda selalu mengirimkan code terbaru Anda. Berikut adalah contoh konfigurasi untuk GitHub Actions:upload.yml name: Deploy to Capgoon:push:branches: [main]jobs:deploy:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v6- uses: actions/setup-node@v6with:node-version: '24'- run: npm ci- run: npm run build- run: npm install -g @capgo/cli- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"
Pengelolaan Versi dengan Semantic-release
Judul Bagian “Pengelolaan Versi dengan Semantic-release”Metode yang disarankan untuk mengelola versi dengan Capgo adalah dengan mengatur versi di file Anda dengan mengimportnya dari capacitor.config.ts Salin ke clipboard package.json:
import pkg from './package.json'
const config: CapacitorConfig = { // ... other config plugins: { CapacitorUpdater: { version: pkg.version, } }}Menggunakan semantic-release (atau alat lainnya) untuk memperbarui versi
- Membangun aplikasi dengan versi yang diperbarui secara otomatis
package.jsonMengunggah bundle dengan versi yang tepat - Alur kerja CI/CD Anda akan seperti ini:
- Salin ke clipboard
Salin ke clipboard
- run: npm ci- run: npx semantic-release # Updates package.json version- run: npm run build # Builds with new version from capacitor.config- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Berikut adalah contoh .releaserc file konfigurasi untuk semantic-release:
{ "branches": [ "main", { "name": "beta", "prerelease": true } ], "plugins": [ "@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", "@semantic-release/changelog", [ "@semantic-release/git", { "assets": ["CHANGELOG.md", "package.json"], "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" } ] ]}Konfigurasi ini melakukan hal-hal berikut:
- Menganalisis pesan komit untuk menentukan nomor versi berikutnya, mengikuti spesifikasi Conventional Commits.
- Menghasilkan catatan rilis berdasarkan komit sejak rilis terakhir.
- Mengupdate
CHANGELOG.mdfile dengan catatan rilis baru. - Mengupdate
package.jsonnomor versi, yang akan diambil oleh konfigurasi capacitor Anda. - Mengkomitkan file yang telah diperbarui
CHANGELOG.md,package.jsondan file lainnya yang berubah kembali ke repository.
Pastikan menjalankan semantic-release sebelum membangun aplikasi Anda agar versi yang diperbarui dari package.json Termasuk dalam pembangunan melalui capacitor.config.
Auto-bump ketika versi lokal sudah pada Capgo
Judul Bagian “Auto-bump ketika versi lokal sudah pada Capgo”Nama paket harus unik (versi yang dihapus masih mengisi nama). Jika CI terus mengunggah versi yang sama, unggahan gagal. Lebih baik melakukan bump package.json (misalnya dengan semantic-release). Ketika itu tidak praktis, biarkan __CAPGO_KEEP_0__ memilih versi semver gratis berikutnya dari kanal paket yang terkait, atau versi aplikasi remote terakhir: package.json (for example with semantic-release). When that is not practical, let the CLI pick the next free semver from the channel’s linked bundle, or else the latest remote app version:
npx @capgo/cli@latest bundle upload --channel=production --auto-bumpnpx @capgo/cli@latest bundle upload --auto-bump majornpx @capgo/cli@latest bundle upload --auto-bump minor # default when the flag has no valuenpx @capgo/cli@latest bundle upload --auto-bump patch # alias: fixnpx @capgo/cli@latest bundle upload --auto-bump metadatanpx @capgo/cli@latest bundle upload --channel=production --auto-bump ai--auto-bump ai uses Capgo Cloudflare Workers AI to compare local bundle files against the previous Capgo/channel delta manifest, pick major | minor | patch | metadata, and print a short reason. With no previous Capgo version, AI is skipped and the bump is patch.
Tidak kombinasikan --auto-bump dengan --bundle / -b. Lihat referensi bundle upload untuk daftar opsi lengkap. Pengaturan
context: Halaman/area: Support / halaman dukungan premium atau bagian bawah halaman dukungan. Peran: Judul bagian atau halaman. Dilihat di: halaman support-policy.astro. Kunci pesan `support_policy_troubleshooting_title` (Judul Pengaturan Dukungan Support).
Judul Bagian Titled “Pengaturan Dukungan”Jika Anda mengalami masalah dengan integrasi CI/CD Anda di Capgo, berikut beberapa hal yang perlu Anda periksa:
-
API kunci: Pastikan kunci API Anda valid dan memiliki izin yang diperlukan. Jika menggunakan variabel lingkungan, pastikan bahwa sudah ditetapkan dengan benar.
-
CLI versi: Pastikan Anda menggunakan versi terbaru dari Capgo CLI. Versi yang lebih tua mungkin memiliki masalah kompatibilitas atau kekurangan fitur tertentu.
-
Artikel Pembangunan: Pastikan bahwa pembangunan web Anda menghasilkan file keluaran yang diharapkan. Capgo CLI membutuhkan pembangunan web yang valid untuk membuat bundle.
-
Koneksi Jaringan: Periksa apakah lingkungan CI/CD Anda memiliki akses ke server Capgo. Masalah firewall atau proxy dapat mengganggu proses.
upload: Jika Anda masih mengalami masalah, hubungi __CAPGO_KEEP_0__ untuk mendapatkan bantuan. Mereka dapat membantu menyelesaikan masalah dengan konfigurasi spesifik Anda.
If you’re still having trouble, reach out to Capgo support for assistance. They can help troubleshoot any issues with your specific setup.
Integrating Capgo into your CI/CD pipeline with proper version management can greatly streamline your development workflow. By automating your deployments and versioning through the capacitor.config approach, you can ship updates faster and with more confidence.
file dan menggunakan semantic-release untuk mengupdate capacitor.config.ts __CAPGO_KEEP_0__ package.json menawarkan proses pengiriman yang kuat dan dapat diandalkan yang memungkinkan Anda fokus pada pembangunan fitur-fitur yang bagus daripada khawatir tentang langkah-langkah rilis manual.
For lebih detail tentang perintah dan opsi Capgo CLI, lihatlah referensi CLI. Dan untuk memahami lebih dalam tentang konfigurasi semantic-release, lihatlah docs semantic-release.
Selamat mengirim!
Teruskan dari Integrasi CI/CD
Judul bagian “Teruskan dari Integrasi CI/CD”Jika Anda menggunakan Integrasi CI/CD context: Halaman/area: Capgo Builder / produk halaman build native cloud. Peran: Label UI singkat atau item navigasi. Kunci pesan `native_build_feature_ci_cd` (Native Build Feature Ci Cd). untuk merencanakan otomatisasi CI/CD, hubungkannya dengan CI/CD Capgo untuk alur kerja produk di Capgo CI/CD, Capgo Pembangunan Nativ untuk alur kerja produk di Capgo Pembangunan Nativ, Capgo Integrasi for the product workflow in Capgo Integrations, untuk alur kerja produk di GitHub Integrasi, GitHub Integrasi Aksi untuk detail implementasi di __CAPGO_KEEP_0__ Integrasi Aksi, dan Integrasi CI/CD GitLab