Langsung ke konten

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:

Terminal window
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:

  1. 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!

  2. Konfigurasi perintah upload: Tambahkan langkah ke konfigurasi CI/CD Anda yang menjalankan perintah upload dengan argumen yang sesuai:

    upload.yml
    - run: npx @capgo/cli@latest upload --channel=Production --apikey=${{ secrets.CAPGO_API_KEY }}
    \n Ganti Production dengan channel yang ingin Anda terapkan, dan ${{ secrets.CAPGO_API_KEY }} dengan variabel lingkungan yang menyimpan API key Anda.

  3. Tambahkan langkah upload setelah build web Anda: Pastikan bahwa langkah upload datang setelah build web Anda berhasil diselesaikan. Ini memastikan Anda selalu menerapkan kode terbaru Anda.\n Berikut contoh konfigurasi untuk GitHub Actions:\n

    upload.yml
    name: Deploy to Capgo
    on:
    push:
    branches: [main]
    jobs:
    deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-node@v3
    with:
    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:

  1. Menganalisis pesan commit untuk menentukan nomor versi berikutnya, mengikuti spesifikasi Conventional Commits
  2. Menghasilkan catatan rilis berdasarkan commit sejak rilis terakhir
  3. Memperbarui file CHANGELOG.md dengan catatan rilis baru
  4. Menjalankan perintah upload CLI Capgo, meneruskan nomor versi baru dan menggunakan flag --partial untuk pembaruan diferensial
  5. 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!