Integrasi CI/CD
Copy sebuah 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 lagi ada 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. Ini sangat berharga ketika Anda memiliki anggota tim yang berkontribusi code.
-
Iterasi yang lebih cepat: Dengan pengiriman otomatis, Anda dapat mengirimkan update lebih sering dan dengan percaya diri. Tidak lagi perlu menunggu QA manual atau persetujuan rilis.
Capgo CLI
Judul Bagian “Capgo CLI”Capgo CLI adalah kunci untuk mengintegrasikan Capgo ke dalam workflow 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 Enkripsi
Bagian berjudul “Mengatur Variabel Lingkungan untuk Enkripsi”Untuk lingkungan CI/CD, disarankan untuk menyimpan kunci pribadi sebagai variabel lingkungan daripada file. Berikut cara mengaturnya:
-
Ambil konten kunci pribadi:
Jendela terminal cat .capgo_key_v2 | pbcopyIni akan menyalin konten kunci ke clipboard.
-
Tambahkan ke lingkungan CI/CD:
- GitHub Aksi: Tambahkan
CAPGO_PRIVATE_KEYke rahasia repository Anda - GitLab CITambahkan sebagai variabel tersembunyi di pengaturan proyek Anda
- CircleCITambahkan sebagai variabel lingkungan di pengaturan proyek Anda
- JenkinsTambahkan sebagai teks kunci rahasia
- GitHub Aksi: Tambahkan
-
Gunakan 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 }}"
Catatan : Bendera 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.
__CAPGO_KEEP_0__
Pengaturan Capgo di Pipa CI/CD Anda
Judul Bagian: Pengaturan Capgo di Pipa CI/CD AndaSementara langkah-langkah pasti akan berbeda tergantung pada pilihan alat CI/CD Anda, proses umum untuk mengintegrasikan Capgo seperti ini:
-
Buatlah API key: Masuk ke dashboard Capgo dan buatlah kunci API baru. Kunci ini akan digunakan untuk mengautentikasi CLI di lingkungan CI/CD Anda. Simpanlah rahasia ini dan jangan pernah mengkomitkannya ke repositori Anda!
-
Konfigurasi
bundle uploadPerintah: Tambahkan langkah ke konfigurasi CI/CD Anda yang menjalankan perintah dengan argumen yang tepat:bundle uploadupload.yml__CAPGO_KEEP_0__Salin ke clipboard - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Productiondengan saluran yang ingin Anda buat untuk mendeploy${{ 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: Pastikan bahwauploadlangkah ini datang setelah pembangunan web Anda telah selesai dengan sukses. Hal ini memastikan Anda selalu mendeploy versi terbaru code.\n 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
Cara yang direkomendasikan untuk mengelola versi dengan __CAPGO_KEEP_0__ adalah dengan menetapkan versi di dalam kode AndaThe recommended way to handle versioning with Capgo is to set the version in your capacitor.config.ts file dengan cara mengimportnya dari package.json:
import pkg from './package.json'
const config: CapacitorConfig = { // ... other config plugins: { CapacitorUpdater: { version: pkg.version, } }}Dengan cara ini Anda dapat:
- Gunakan semantic-release (atau alat lainnya) untuk memperbarui versi
package.jsonversi - Buat aplikasi Anda dengan versi yang diperbarui secara otomatis termasuk
- Unggah bundle dengan versi yang benar
Alur kerja CI/CD Anda akan seperti ini:
- 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 konfigurasi file 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 file dengan catatan rilis baru.
CHANGELOG.mdMengupdate versi, yang akan diambil oleh konfigurasi __CAPGO_KEEP_0__ Anda. - Mengkomitkan file yang telah diperbarui, serta file lain yang berubah, kembali ke repository.
package.jsonPastikan Anda menjalankan semantic-release sebelum membangun aplikasi Anda agar versi yang diperbarui dari capacitor dapat dimasukkan ke dalam build melalui konfigurasi capacitor Anda. - Pengaturan
CHANGELOG.md,package.jsonPengaturan
Pengaturan package.json is included in your build through the capacitor.config.
Pengaturan
[Troubleshooting]If you encounter issues with your Capgo CI/CD integration, here are a few things to check:
-
Kunci APIPastikan kunci API Anda valid dan memiliki izin yang diperlukan. Jika menggunakan variabel lingkungan, pastikan sudah benar.
-
Versi CLIPastikan Anda menggunakan versi terbaru dari Capgo CLI. Versi yang lebih lama mungkin memiliki masalah kompatibilitas atau kekurangan fitur.
-
Artefak PembangunanPastikan pembangunan web Anda menghasilkan file keluaran yang diharapkan. Capgo CLI memerlukan pembangunan web yang valid untuk membuat bundle.
-
Koneksi JaringanPeriksa apakah lingkungan CI/CD Anda memiliki akses ke server Capgo. Masalah firewall atau proxy dapat mengganggu proses.
uploadJika Anda masih mengalami masalah, hubungi dukungan __CAPGO_KEEP_0__ untuk 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.
Kesimpulan
Judul Bagian: KesimpulanIntegrasi Capgo ke dalam pipeline CI/CD Anda dengan manajemen versi yang tepat dapat sangat mempercepat alur kerja pengembangan Anda. Dengan otomatisasi proses pengiriman dan pengaturan versi melalui pendekatan capacitor.config, Anda dapat mengirimkan pembaruan lebih cepat dan dengan lebih percaya diri.
Metode yang disarankan untuk mengatur versi di file Anda dan menggunakan semantic-release untuk memperbarui capacitor.config.ts memberikan proses pengiriman yang kuat dan dapat diandalkan yang memungkinkan Anda untuk fokus pada pembangunan fitur-fitur yang bagus daripada khawatir tentang langkah-langkah rilis manual. package.json Untuk informasi lebih lanjut tentang perintah dan option __CAPGO_KEEP_0__ __CAPGO_KEEP_1__, lihat referensi __CAPGO_KEEP_0__.
For more details on the Capgo CLI commands and options, check out the CLI referenceTeruslah dari Integrasi CI/CD __CAPGO_KEEP_0__.
__CAPGO_KEEP_1__
__CAPGO_KEEP_0__ reference
Bagian berjudul “Teruskan dari Integrasi CI/CD”Jika Anda menggunakan Integrasi CI/CD untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Capgo Integrasi CI/CD untuk alur kerja produk di Capgo Integrasi CI/CD, Capgo Pembangunan Nativ untuk alur kerja produk di Capgo Pembangunan Nativ, Capgo Integrasi untuk alur kerja produk di Capgo Integrasi, GitHub Integrasi Aksi untuk detail implementasi di GitHub Integrasi Aksi, dan Integrasi GitLab CI/CD untuk detail implementasi di Integrasi GitLab CI/CD.