Tutorial ini berfokus pada hosting GitHub, tetapi Anda dapat menyesuaikannya dengan sedikit modifikasi untuk platform CI/CD lainnya.
Pendahuluan
Pastikan Anda sudah menambahkan app Capacitor ke Capgo, tutorial ini hanya fokus pada fase upload. Jika Anda perlu menambahkan app ke Capgo, silakan ikuti ini Tutorial
Konvensi commit
Pertama, Anda perlu mulai mengikuti konvensi commit conventional commits` ini akan membantu tooling memahami cara upgrade nomor versi, hanya butuh 5 menit untuk mempelajarinya.

GitHub actions untuk tag
Kemudian Anda perlu membuat GitHub action pertama 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 kalau file ini belum ada, nanti dibuatkan untuk Anda.
Agar ini berfungsi, buatlah sebuah PERSONAL ACCESS TOKEN dan tambahkan ke GitHub Anda secrets sebagai PERSONAL_ACCESS_TOKEN.
Ini diperlukan agar CI bisa melakukan commit changelog.
Saat membuat token, pilih masa berlaku sebagai never dan scope sebagai repo.
Terakhir, atur versi di file package.json Anda, sinkronkan dengan nomor versi Native agar langkah berikutnya lebih mudah.
Ini hanya perlu dilakukan sekali, setelah itu tools akan menjaganya tetap up to date.
Sekarang Anda bisa commit kedua file ini dan lihat tag pertama Anda muncul di GitHub!
Platform native maupun web akan mengalami kenaikan nomor versi setelah setiap commit.
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 bagian 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 pengujian pada langkah build untuk memastikan code Anda berfungsi dengan baik.
Buka dashboard Capgo Anda dan cek build yang baru muncul; sekarang Anda sudah punya sistem CI/CD.
Jika ingin semua user mendapatkan update secara otomatis, buka channel Anda dan atur ke public.
Anda juga bisa menambahkan Native Build dari aplikasi Ionic Capacitor JavaScript Anda dengan mengikuti tutorial ini 👇
Lanjutkan dari Automatic build and release app dengan Github actions
Jika Anda menggunakan Automatic build and release app dengan Github actions untuk merencanakan otomatisasi CI/CD, hubungkan dengan CI/CD Capgo untuk alur kerja produk di Capgo CI/CD, Capgo Native Build untuk alur kerja 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.