Integrasi CI/CD
Mengintegrasikan Capgo ke dalam pipeline CI/CD Anda memungkinkan untuk mengotomatisasi sepenuhnya proses pembuatan dan penerapan pembaruan ke aplikasi Anda. Dengan memanfaatkan CLI Capgo dan semantic-release, Anda dapat memastikan penerapan yang konsisten, handal dan memungkinkan iterasi yang cepat.
Manfaat Integrasi CI/CD
-
Otomatisasi: Tidak ada lagi langkah manual atau ruang untuk kesalahan manusia. Seluruh proses build, test, dan deployment Anda dapat diotomatisasi dari awal hingga akhir.
-
Konsistensi: Setiap penerapan mengikuti langkah-langkah yang sama, memastikan proses yang dapat diprediksi dan diulang. Ini sangat berharga ketika Anda memiliki beberapa anggota tim yang berkontribusi kode.
-
Iterasi lebih cepat: Dengan penerapan otomatis, Anda dapat mengirim pembaruan lebih sering dan dengan percaya diri. Tidak perlu lagi menunggu QA manual atau persetujuan rilis.
CLI Capgo
CLI Capgo adalah kunci untuk mengintegrasikan Capgo ke dalam alur kerja CI/CD Anda. Ini menyediakan perintah untuk mendorong versi bundle baru, mengelola channel, dan banyak lagi.
Perintah yang paling penting untuk integrasi CI/CD adalah upload
:
npx @capgo/cli@latest upload --channel=Production --apikey=YOUR_API_KEY
Perintah ini mengunggah build web saat ini ke channel yang ditentukan. Anda biasanya akan menjalankan ini sebagai langkah terakhir dalam pipeline CI/CD Anda, setelah build web Anda berhasil diselesaikan.
Menyiapkan Capgo dalam Pipeline CI/CD Anda
Meskipun langkah-langkah pastinya akan bervariasi tergantung pada pilihan alat CI/CD Anda, proses umum untuk mengintegrasikan Capgo terlihat seperti ini:
-
Buat API key: Masuk ke dashboard Capgo dan buat API key baru. Kunci ini akan digunakan untuk mengautentikasi CLI di lingkungan CI/CD Anda. Jaga kerahasiaannya dan jangan pernah menyimpannya di repositori Anda!
-
Konfigurasi perintah
upload
: Tambahkan langkah ke konfigurasi CI/CD Anda yang menjalankan perintahupload
dengan argumen yang sesuai:\n Gantiupload.yml - run: npx @capgo/cli@latest upload --channel=Production --apikey=${{ secrets.CAPGO_API_KEY }}Production
dengan channel yang ingin Anda terapkan, dan${{ secrets.CAPGO_API_KEY }}
dengan variabel lingkungan yang menyimpan API key Anda. -
Tambahkan langkah
upload
setelah build web Anda: Pastikan bahwa langkahupload
datang setelah build web Anda berhasil diselesaikan. Ini memastikan Anda selalu menerapkan kode terbaru Anda.\n Berikut contoh konfigurasi untuk GitHub Actions:\nupload.yml name: Deploy to Capgoon:push:branches: [main]jobs:deploy:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v3- uses: actions/setup-node@v3with:node-version: 18- run: npm ci- run: npm run build- run: npm install -g @capgo/cli- run: npx @capgo/cli@latest upload --channel=Production --apikey=${{ secrets.CAPGO_API_KEY }}
Integrasi Semantic-release
Semantic-release adalah alat yang kuat untuk mengotomatisasi manajemen versi dan menghasilkan catatan rilis. Dengan mengintegrasikan semantic-release dengan Capgo, Anda dapat secara otomatis menambah versi aplikasi Anda dan menghasilkan changelog dengan setiap penerapan.
Berikut contoh file konfigurasi releaserc
untuk semantic-release:
{ "branches": [ "main", { "name": "beta", "prerelease": true } ], "plugins": [ "@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", "@semantic-release/changelog", [ "@semantic-release/exec", { "publishCmd": "npx @capgo/cli@latest upload --channel=${nextRelease.channel} --apikey=YOUR_API_KEY --partial" } ], [ "@semantic-release/git", { "assets": ["CHANGELOG.md", "package.json"], "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" } ] ]}
Konfigurasi ini melakukan hal berikut:
- Menganalisis pesan commit untuk menentukan nomor versi berikutnya, mengikuti spesifikasi Conventional Commits
- Menghasilkan catatan rilis berdasarkan commit sejak rilis terakhir
- Memperbarui file
CHANGELOG.md
dengan catatan rilis baru - Menjalankan perintah
upload
CLI Capgo, meneruskan nomor versi baru dan menggunakan flag--partial
untuk pembaruan diferensial - Melakukan commit file
CHANGELOG.md
,package.json
, dan file lain yang berubah kembali ke repositori
Untuk menggunakan semantic-release dengan Capgo, cukup tambahkan langkah ke konfigurasi CI/CD Anda yang menjalankan npx semantic-release
. Pastikan langkah ini datang setelah build web Anda dan sebelum langkah upload
Capgo.
Pemecahan Masalah
Jika Anda mengalami masalah dengan integrasi CI/CD Capgo Anda, berikut beberapa hal yang perlu diperiksa:
-
API key: Pastikan API key Anda valid dan memiliki izin yang diperlukan. Jika menggunakan variabel lingkungan, periksa kembali bahwa itu diatur dengan benar.
-
Versi CLI: Pastikan Anda menggunakan versi terbaru dari CLI Capgo. Versi lama mungkin memiliki masalah kompatibilitas atau kurang fitur tertentu.
-
Artefak build: Konfirmasikan bahwa build web Anda menghasilkan file output yang diharapkan. CLI Capgo membutuhkan build web yang valid untuk membuat bundle.
-
Konektivitas jaringan: Periksa bahwa lingkungan CI/CD Anda memiliki akses jaringan ke server Capgo. Masalah firewall atau proxy terkadang dapat mengganggu perintah
upload
.
Jika Anda masih mengalami masalah, hubungi dukungan Capgo untuk bantuan. Mereka dapat membantu memecahkan masalah dengan pengaturan spesifik Anda.
Kesimpulan
Mengintegrasikan Capgo ke dalam pipeline CI/CD Anda dan memanfaatkan semantic-release untuk manajemen versi dapat sangat menyederhanakan alur kerja pengembangan Anda. Dengan mengotomatisasi penerapan dan versi, Anda dapat mengirim pembaruan lebih cepat dan dengan lebih percaya diri.
CLI Capgo dan semantic-release menyediakan kombinasi yang kuat untuk mencapai rilis yang sepenuhnya otomatis, end-to-end. Dengan sedikit konfigurasi, Anda dapat memiliki proses penerapan yang kuat dan andal yang memungkinkan Anda fokus pada membangun fitur hebat daripada khawatir tentang langkah-langkah rilis manual.
Untuk detail lebih lanjut tentang perintah dan opsi CLI Capgo, lihat referensi CLI. Dan untuk pendalaman lebih lanjut tentang konfigurasi semantic-release, lihat dokumentasi semantic-release.
Selamat menerapkan!