Tutorial ini berfokus pada GitLab CI, tapi Anda bisa menyesuaikannya sedikit untuk platform CI/CD lainnya.
Kata Pengantar
Pastikan Anda sudah menambahkan aplikasi ke Capgo terlebih dahulu, tutorial ini hanya fokus pada fase upload
Konvensi commit
Pertama, Anda perlu mulai mengikuti konvensi commit conventional commits` ini akan membantu tooling memahami cara memperbarui nomor versi, hanya butuh 5 menit untuk mempelajarinya.`

GitLab CI untuk tag
Lalu, Anda perlu membuat GitLab pertama Anda untuk otomatis melakukan build dan membuat tag.
Buat file di path ini: .github/workflows/bump_version.yml
dengan isi berikut:
name: Bump version
on:
push:
branches:
- main
jobs:
bump-version:
if: "!startsWith(github.event.head_commit.message, 'chore(release):')"
runs-on: ubuntu-latest
name: "Bump version and create changelog with standard version"
steps:
- name: Check out
uses: actions/checkout@v6
with:
fetch-depth: 0
filter: blob:none
token: '${{ secrets.PERSONAL_ACCESS_TOKEN }}'
- name: Git config
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "github-actions[bot]@users.noreply.github.com"
- name: Create bump and changelog
run: npx capacitor-standard-version
- name: Push to origin
run: |
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
remote_repo="https://${GITHUB_ACTOR}:${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git"
git pull $remote_repo $CURRENT_BRANCH
git push $remote_repo HEAD:$CURRENT_BRANCH --follow-tags --tags
Ini akan merilis tag untuk setiap commit di branch main Anda, serta menambahkan entri changelog untuk setiap commit di branch main ke dalam CHANGELOG.md.
Jangan khawatir jika Anda belum punya file ini, file akan dibuat untuk Anda.
Agar ini berfungsi, buatlah sebuah PERSONAL ACCESS TOKEN dan tambahkan ke variabel GitLab CI/CD Anda sebagai PERSONAL_ACCESS_TOKEN.
Ini diperlukan agar CI dapat melakukan commit pada changelog.
Saat membuat token, pilih masa berlaku sebagai never dan scope sebagai repo.
Terakhir, agar alat ini tahu di mana versi Anda disimpan, Anda harus membuat file tersebut .cz.toml di root repositori Anda.
Dan masukkan ini di dalamnya:
[tool.commitizen]
name = "cz_conventional_commits"
tag_format = "$major.$minor.$patch$prerelease"
version = "0.11.5"
version_files = [
"package.json:version",
".cz.toml"
]
Atur versi di file ini agar sama dengan yang ada di package.json Anda.
Ini hanya perlu dilakukan sekali di awal, setelah itu alat akan terus memperbaruinya secara otomatis.
Sekarang Anda bisa commit kedua file tersebut dan lihat tag pertama Anda muncul di GitHub!
GitHub actions untuk build
Buat file di path ini: .github/workflows/build.yml
dengan isi berikut:
name: Build source code and send to Capgo
on:
push:
tags:
- '*'
jobs:
deploy:
runs-on: ubuntu-latest
name: "Build code and release"
steps:
- name: Check out
uses: actions/checkout@v6
- name: Install dependencies
id: install_code
run: npm i
- name: Build
id: build_code
run: npm run build
env: # Remove both lines if you don't need it
FIREBASE_CONFIG: ${{ secrets.FIREBASE_CONFIG }} # Example of env var coming from a secret
- name: Create Release
id: create_release
run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c production
Ini akan menginstal dan mem-build dependency Anda sebelum dikirim ke Capgo.
Jika perintah build Anda berbeda, Anda dapat mengubahnya di build_code step.
Agar ini berfungsi, Anda perlu mengambil key API untuk Capgo, lalu menambahkannya ke secret di repository GitHub Anda sebagai CAPGO_TOKEN.
Sekarang Anda bisa commit kedua file ini dan lihat tag pertama Anda muncul di GitHub!
Menambahkan commit akan men-generate build baru untuk production channel.
Anda sebaiknya menambahkan test pada build step untuk memastikan code Anda berjalan lancar.
Buka dashboard Capgo Anda dan cek build yang baru muncul, sekarang Anda sudah punya sistem CI/CD sendiri.
Jika ingin semua user mendapatkan update segera setelah tersedia, buka channel Anda dan atur ke public.
Lanjutkan dari Automatic build and release with Gitlab
Jika Anda menggunakan Build dan release otomatis 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.