Artikel ini akan memandu Anda cara setup pipeline CI/CD dengan GitLab.
Kata Pengantar
Pastikan Anda sudah menambahkan app Capacitor ke Capgo, tutorial ini hanya fokus pada fase upload. Jika ingin menambahkan app ke Capgo, ikuti panduan ini Tutorial.
Konvensi commit
Pertama, Anda harus mulai mengikuti konvensi commit conventional commits` ini akan membantu tooling memahami cara upgrade nomor versi, hanya butuh 5 menit untuk mempelajarinya.

GitLab CI/CD untuk Tag
Buat file .gitlab-ci.yml di root repository GitLab Anda dengan isi sebagai berikut
stages:
- tag
bump_version:
stage: tag
only:
- main
except:
variables:
- $CI_COMMIT_MESSAGE =~ /^chore\(release\):/
script:
- git config --global user.email "gitlab@yourdomain.com"
- git config --global user.name "GitLab CI/CD"
- git checkout $CI_COMMIT_REF_NAME
- git pull origin $CI_COMMIT_REF_NAME
- npx capacitor-standard-version
- git push origin $CI_COMMIT_REF_NAME --tags
Ganti “gitlab@yourdomain.com” dan “GitLab CI/CD” dengan email dan username GitLab Anda di bagian script. Konfigurasi ini hanya memicu job saat push ke branch main dan mengecualikan commit dengan pesan yang diawali “chore(release):”.
GitLab CI/CD untuk Build
Tambahkan stage lain ke file .gitlab-ci.yml Anda untuk build:
stages:
- deploy
deploy:
stage: deploy
only:
- tags # This job will only run for tag pushes
script:
- apt-get update -qy && apt-get install -y nodejs npm
- npm install -g @capgo/cli
- npm ci
- npm run build
- npx @capgo/cli bundle upload -a $CAPGO_TOKEN -c production
variables:
FIREBASE_CONFIG: $FIREBASE_CONFIG # Define this in your GitLab project settings
environment:
name: production
Pastikan Capgo API key (CAPGO_TOKEN) sudah ditambahkan sebagai variabel CI/CD di proyek GitLab Anda. Buka proyek di GitLab, masuk ke Settings > CI/CD > Variables, lalu tambahkan variabel bernama CAPGO_TOKEN dengan nilai API key Anda.
Sesuaikan build script agar sesuai dengan proses build proyek Anda, misalnya dengan mengubah perintah npm run build.
Kesimpulan
Akhirnya sampai juga! Kita telah mengambil langkah ekstra dalam perjalanan teknologi ini. Dalam pengembangan software modern, CI/CD adalah faktor esensial yang harus dipertimbangkan. Semoga panduan ini bermanfaat bagi semua orang.
Lanjutkan dari Automatic build and release app with GitLab
Jika Anda menggunakan Otomatisasi build dan rilis aplikasi dengan GitLab untuk merencanakan otomatisasi CI/CD, hubungkan dengan CI/CD Capgo untuk workflow produk di Capgo CI/CD, Capgo Native Build untuk workflow produk di Capgo Native Builds, Integrasi Capgo untuk alur kerja produk di Integrasi Capgo, Integrasi CI/CD untuk detail implementasi di Integrasi CI/CD, dan Integrasi GitHub Actions untuk detail implementasi di Integrasi GitHub Actions.