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 update 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
Judul Bagian: Manfaat Integrasi CI/CD-
Otomatisasi: Tidak ada 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 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 Anda:
Jendela terminal cat .capgo_key_v2 | pbcopyKonten kunci ini telah disalin ke clipboard.
-
Tambahkan ke lingkungan CI/CD Anda:
- GitHub Aksi: Tambahkan
CAPGO_PRIVATE_KEYke rahasia repository 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 dalam pipeline Anda:
- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"
Perlu diingat: Flag ini 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. --key-data-v2 Perintah ini 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.
Mengatur __CAPGO_KEEP_0__ di Pipeline CI/CD Anda
Bagian berjudul “Mengatur Capgo di Pipeline CI/CD Anda”
Meskipun langkah-langkah pasti akan berbeda-beda tergantung pada alat CI/CD yang Anda pilih, proses umum untuk mengintegrasikan Capgo seperti ini:Menghasilkan kunci Capgo
-
: Masuk ke dashboard API dan buat kunci __CAPGO_KEEP_1__ baru. Kunci ini akan digunakan untuk mengautentikasi __CAPGO_KEEP_2__ di lingkungan CI/CD Anda. Simpanlah rahasia dan jangan pernah mengkomitnya ke repository Anda!: Log in to the Capgo dashboard and create a new API key. This key will be used to authenticate the CLI in your CI/CD environment. Keep it secret and never commit it to your repository!
-
perintah
bundle upload: Tambahkan langkah ke konfigurasi CI/CD Anda yang menjalankan__CAPGO_KEEP_0__bundle uploadperintah dengan argumen yang tepat:\n Gantiupload.yml - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Productiondengan saluran yang ingin Anda buat, dan tambahkan${{ 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.\n Berikut adalah contoh konfigurasi untuk GitHub Actions:\nupload.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
Bab berjudul “Pengelolaan Versi dengan Semantic-release”Cara yang disarankan untuk mengelola versi dengan Capgo adalah dengan mengatur versi di file Anda dengan mengimportnya dari capacitor.config.ts Cara yang disarankan untuk mengelola versi dengan __CAPGO_KEEP_0__ adalah dengan mengatur versi di file Anda dengan mengimportnya dari 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:
- __CAPGO_KEEP_0__
__CAPGO_KEEP_0__
- 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.jsonversi, 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 yang terkait paket, 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: Bantuan / bagian bantuan premium atau bagian bawah halaman bantuan. Peran: Judul bagian atau halaman. Dilihat di: halaman support-policy.astro. Kunci pesan `support_policy_troubleshooting_title` (Judul Pengaturan Bantuan)
Judul bagian ‘Pengaturan’Jika Anda mengalami masalah dengan integrasi CI/CD Anda 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 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 build web Anda menghasilkan file keluaran yang diharapkan. Capgo CLI membutuhkan build web yang valid untuk membuat bundle.
-
Koneksi Jaringan: Periksa apakah lingkungan CI/CD Anda memiliki akses jaringan ke server Capgo. Masalah firewall atau proxy dapat mengganggu proses ini.
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 informasi lebih lanjut tentang perintah dan pilihan Capgo CLI , silakan cek referensi CLI . Dan untuk memahami lebih dalam tentang konfigurasi semantic-release, lihat docs semantic-release .
Selamat mengirim!
Teruskan dari Integrasi CI/CD
Judul bagian “Teruskan dari Integrasi CI/CD”Jika Anda menggunakan Integrasi CI/CD context Capgo CI/CD untuk alur kerja produk dalam Capgo CI/CD, Capgo Pembangunan Nativ untuk alur kerja produk dalam Capgo Pembangunan Nativ Capgo Integrasi for the product workflow in Capgo Integrations, untuk alur kerja produk dalam GitHub Integrasi GitHub Integrasi Aksi untuk detail implementasi dalam __CAPGO_KEEP_0__ Integrasi Aksi, dan Integrasi CI/CD GitLab