Lompat ke konten

Integrasi CI/CD

Integrasi Capgo ke dalam pipeline CI/CD Anda memungkinkan Anda untuk sepenuhnya otomatisasi proses pembangunan dan pengiriman pembaruan ke aplikasi Anda. Dengan memanfaatkan Capgo CLI dan semantic-release, Anda dapat memastikan pengiriman yang konsisten, dapat diandalkan, dan memungkinkan iterasi cepat.

  • 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 set langkah yang sama, sehingga proses yang dapat diprediksi dan dapat diulang. Hal ini sangat berharga ketika Anda memiliki beberapa anggota tim yang berkontribusi code.

  • Faster iterations: Dengan pengiriman otomatis, Anda dapat mengirimkan pembaruan lebih sering dan dengan percaya diri. Tidak perlu menunggu QA manual atau persetujuan rilis.

Kunci Capgo CLI adalah kunci untuk mengintegrasikan Capgo ke dalam alur kerja CI/CD. Ini menyediakan perintah untuk mengirimkan versi bundle baru, mengelola saluran, dan lain-lain.

Perintah paling penting untuk integrasi CI/CD adalah bundle upload:

Tampilan jendela terminal
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY

Jika Anda menggunakan enkripsi, Anda harus menyediakannya dari salah satu cara berikut:

Menggunakan jalur file kunci pribadi:

Tampilan jendela terminal
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-v2 PRIVATE_KEY_PATH

Menggunakan konten kunci pribadi secara langsung (direkomendasikan untuk CI/CD):

Jendela terminal
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 PRIVATE_KEY_CONTENT

Menggunakan variabel lingkungan (praktik terbaik untuk CI/CD):

Jendela terminal
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 "$CAPGO_PRIVATE_KEY"

Mengatur Variabel Lingkungan untuk Enkripsi

Bab berjudul “Mengatur Variabel Lingkungan untuk Enkripsi”

Untuk lingkungan CI/CD, disarankan untuk menyimpan kunci pribadi Anda sebagai variabel lingkungan daripada file. Berikut cara mengaturnya:

  1. Dapatkan konten kunci pribadi Anda:

    Jendela terminal
    cat .capgo_key_v2 | pbcopy

    Ini akan menyalin konten kunci ke clipboard Anda.

  2. Tambahkan ke lingkungan CI/CD Anda:

    • GitHub Aksi: Tambahkan CAPGO_PRIVATE_KEY ke 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
  3. 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: The --key-data-v2 flag 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.

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.

Sementara langkah-langkah pasti akan berbeda-beda tergantung pada alat CI/CD yang Anda pilih, proses umum untuk mengintegrasikan Capgo seperti ini:

  1. Buat kunci API: Masuk ke dashboard Capgo dan buat kunci API baru. Kunci ini akan digunakan untuk otentikasi CLI di lingkungan CI/CD Anda. Jaga rahasia dan jangan pernah mengomitkannya ke repository Anda!

  2. Konfigurasi perintah bundle upload command: Tambahkan langkah ke konfigurasi CI/CD Anda yang menjalankan perintah dengan argumen yang tepat: bundle upload upload.yml

    Salin ke clipboard
    - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}
    dengan saluran yang ingin Anda buat, Production dengan variabel lingkungan yang menyimpan kunci __CAPGO_KEEP_0__ Anda, dan tambahkan ${{ secrets.CAPGO_API_KEY }} with the environment variable holding your API key, and add --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}" Tambahkan

  3. langkah setelah pembangunan web Anda upload : Pastikanlangkah ini datang setelah pembangunan web Anda selesai dengan sukses. Hal ini memastikan Anda selalu mengirimkan __CAPGO_KEEP_0__ terbaru Anda.\n Contoh konfigurasi untuk __CAPGO_KEEP_1__ Actions:\n upload step 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

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

Judul Bagian “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 Salin ke clipboard 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

  1. Membangun aplikasi Anda dengan versi yang diperbarui secara otomatis termasuk package.json Mengunggah bundle dengan versi yang tepat
  2. Menggunakan semantic-release (atau alat lainnya) untuk memperbarui versi
  3. Membangun aplikasi Anda dengan versi yang diperbarui secara otomatis termasuk

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 Salin ke clipboard

{
"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}"
}
]
]
}

Menganalisis pesan komit untuk menentukan nomor versi berikutnya, mengikuti spesifikasi Conventional Commits.

  1. Menghasilkan catatan rilis berdasarkan komit sejak rilis terakhir.
  2. Mengupdate
  3. dengan catatan rilis baru. CHANGELOG.md Mengupdate
  4. nomor versi, yang akan diambil oleh __CAPGO_KEEP_0__.config. package.json capacitor
  5. Menyimpan perubahan CHANGELOG.md, package.jsondan file lain yang berubah kembali ke repository.

Pastikan Anda menjalankan semantic-release sebelum membangun aplikasi Anda agar versi yang diperbarui dari package.json termasuk dalam build Anda melalui capacitor.config.

Jika Anda mengalami masalah dengan integrasi CI/CD Capgo Anda, berikut beberapa hal yang perlu Anda periksa:

  • Kunci API: Pastikan kunci API Anda valid dan memiliki izin yang diperlukan. Jika menggunakan variabel lingkungan, pastikan Anda memeriksa bahwa sudah benar.

  • Versi CLI: Pastikan Anda menggunakan versi terbaru dari Capgo CLI. Versi yang lebih lama mungkin memiliki masalah kompatibilitas atau kekurangan fitur tertentu.

  • Artefak Pembangunan: Pastikan bahwa pembangunan web Anda menghasilkan file keluaran yang diharapkan. File Capgo CLI memerlukan pembangunan web yang valid untuk membuat bundle.

  • Koneksi jaringan: Periksa apakah lingkungan CI/CD Anda memiliki akses ke server Capgo melalui jaringan. Masalah firewall atau proxy dapat mengganggu koneksi ke server. upload perintah.

Jika Anda masih mengalami masalah, hubungi Capgo dukungan untuk bantuan. Mereka dapat membantu menyelesaikan masalah dengan konfigurasi spesifik Anda.

Integrasi Capgo ke dalam pipeline CI/CD Anda dengan pengelolaan versi yang tepat dapat mempercepat alur kerja pengembangan Anda. Dengan otomatisasi pengiriman dan pengelolaan versi melalui pendekatan capacitor.config, Anda dapat mengirimkan pembaruan lebih cepat dan dengan lebih percaya diri.

Metode yang disarankan untuk mengatur versi di file __CAPGO_KEEP_0__ dan menggunakan semantic-release untuk memperbarui versi capacitor.config.ts memberikan proses pengiriman yang kuat dan dapat diandalkan yang memungkinkan Anda fokus pada pembangunan fitur yang bagus daripada khawatir tentang langkah-langkah pengiriman manual. package.json Untuk informasi lebih lanjut tentang perintah dan option __CAPGO_KEEP_0__ __CAPGO_KEEP_1__, cek di

Capgo CLI CLI referensi. Dan untuk memahami lebih dalam tentang konfigurasi semantic-release, lihatlah dokumen semantic-release.

Selamat mengembangkan!

Jika Anda menggunakan Integrasi CI/CD untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Capgo Integrasi CI/CD for the product workflow in Capgo CI/CD, Capgo Integrasi CI/CD untuk alur kerja produk di Capgo Pembangunan Asli 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.