Integrasi CI/CD
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Dengan mengintegrasikan Capgo ke dalam pipeline CI/CD Anda, Anda dapat memastikan proses pembangunan dan pengiriman update aplikasi Anda dapat diotomatisasi secara penuh. Dengan memanfaatkan Capgo CLI dan semantic-release, Anda dapat memastikan pengiriman yang konsisten dan dapat diandalkan, serta memungkinkan iterasi yang cepat.
Manfaat Integrasi CI/CD
Judul bagian “Manfaat Integrasi CI/CD”-
Automasi: Tidak perlu lagi langkah-langkah manual atau kesempatan kesalahan manusia. Proses build, test, 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 anggota tim yang berkontribusi code.
-
Iterasi yang lebih cepat: Dengan pengiriman otomatis, Anda dapat mengirimkan pembaruan lebih sering dan dengan percaya diri. Tidak perlu lagi 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 mendorong versi bundle baru, mengelola saluran, dan lain-lain.
Perintah yang 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 menyediakan 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
Bagian berjudul “Mengatur Variabel Lingkungan untuk Pengenkripsi”Untuk lingkungan CI/CD, disarankan untuk menyimpan kunci pribadi sebagai variabel lingkungan daripada file. Berikut cara mengaturnya:
-
Ambil kunci pribadi Anda:
Jendela terminal cat .capgo_key_v2 | pbcopyKunci konten ini disalin ke papan klip Anda.
-
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: Masukkan sebagai kredit teks rahasia
- GitHub Aksi: Tambahkan
-
Pakai di pipelinemu:
- 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 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.
Mengatur __CAPGO_KEEP_0__ di Pipeline CI/CD Anda
Bab: Mengatur Capgo di Pipeline CI/CD Anda
Sementara langkah-langkah pasti akan berbeda-beda tergantung pada alat CI/CD yang Anda pilih, proses umum untuk mengintegrasikan Capgo seperti ini:Membuat kunci Capgo
-
Generate an API key: Masuk ke dashboard Capgo dan buat kunci baru API. Kunci ini akan digunakan untuk mengautentikasi CLI di lingkungan CI/CD Anda. Jaga rahasia dan jangan pernah komitnya ke repositori Anda!
-
Konfigurasi
bundle uploadperintah: Tambahkan langkah ke konfigurasi CI/CD Anda yang menjalankanbundle 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 deploy ke,${{ 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 bahwauploadstep comes after your web build has completed successfully. This ensures you’re always deploying your latest code.\n Here’s an example configuration for GitHub Actions:\n\n Contoh konfigurasi untuk __CAPGO_KEEP_1__ Actions:\n 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 }}"
Salin ke clipboard
Pengelolaan Versi dengan Semantic-releaseThe recommended way to handle versioning with Capgo is to set the version in your capacitor.config.ts Cara yang disarankan untuk mengelola versi dengan __CAPGO_KEEP_0__ adalah dengan menetapkan versi di file Anda dengan mengimportnya dari package.json:
import pkg from './package.json'
const config: CapacitorConfig = { // ... other config plugins: { CapacitorUpdater: { version: pkg.version, } }}Dengan cara ini, Anda dapat:
- Menggunakan 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 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, serta file lain yang telah berubah, kembali ke repository.
CHANGELOG.md,package.jsonPastikan menjalankan semantic-release sebelum membangun aplikasi Anda agar versi yang diperbarui dari __CAPGO_KEEP_0__ termasuk dalam build melalui konfigurasi __CAPGO_KEEP_0__ Anda.
Pengaturan package.json is included in your build through the capacitor.config.
Jika Anda mengalami masalah dengan integrasi CI/CD __CAPGO_KEEP_0__ Anda, berikut beberapa hal yang perlu Anda periksa:
__CAPGO_KEEP_0__ Key: Pastikan kunci Capgo Anda valid dan memiliki izin yang diperlukan. Jika menggunakan variabel lingkungan, pastikan sudah ditetapkan dengan benar.
-
API key: Ensure your API key is valid and has the necessary permissions. If using an environment variable, double check that it’s set correctly.
-
Versi CLI: Pastikan Anda menggunakan versi terbaru dari Capgo CLI. Versi yang lebih tua mungkin memiliki masalah kompatibilitas atau kekurangan fitur tertentu.
-
Artefak Pembangunan: Konfirmasi bahwa build web Anda menghasilkan file output yang diharapkan. Capgo CLI membutuhkan build web yang valid untuk membuat bundle.
-
Koneksi Jaringan: Periksa bahwa lingkungan CI/CD Anda memiliki akses jaringan ke server Capgo. Masalah firewall atau proxy dapat mengganggu koneksi pada saat tertentu.
uploadPerintah
: Jika Anda masih mengalami masalah, hubungi dukungan Capgo untuk bantuan. Mereka dapat membantu menyelesaikan masalah dengan konfigurasi spesifik Anda.
Kesimpulan
Judul bagian “Kesimpulan”Integrasi Capgo ke dalam pipeline CI/CD Anda dengan pengelolaan versi yang tepat dapat mempercepat alur kerja pengembangan Anda. Dengan otomatisasi 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 capacitor.config.ts file dan menggunakan semantic-release untuk memperbarui package.json menawarkan proses pengembangan yang kuat dan dapat diandalkan yang memungkinkan Anda fokus pada pembangunan fitur-fitur hebat daripada khawatir tentang langkah-langkah rilis manual.
Untuk informasi lebih lanjut tentang perintah dan option Capgo CLI dan dokumentasi, cek di CLI referensi. Dan untuk memahami lebih dalam tentang konfigurasi semantic-release, lihat dokumentasi semantic-release.
Selamat berdeploy!
Teruskan dari Integrasi CI/CD
Jika Anda menggunakanIntegrasi CI/CD untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Bagian berjudul “Teruskan dari Integrasi CI/CD” Capgo Pengaturan CI/CD untuk alur kerja produk di Capgo Pengaturan 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 CI/CD GitLab untuk detail implementasi di Integrasi CI/CD GitLab.