Tutorial ini fokus pada GitLab CI, tetapi Anda dapat menyesuaikannya dengan sedikit perubahan ke platform CI/CD lainnya.
Pengantar
Pastikan Anda telah menambahkan aplikasi Anda terlebih dahulu ke Capgo, tutorial ini hanya berfokus pada fase upload.
Konvensi commit
Pertama, Anda perlu mulai mengikuti konvensi commit konvensional commits ini akan membantu alat memahami cara meningkatkan nomor versi, ini hanya perlu 5 menit untuk mempelajarinya.
GitLab CI untuk tag
Kemudian, Anda perlu membuat GitLab pertama Anda untuk secara otomatis membangun dan membuat tag.
Buat file di jalur ini: .github/workflows/bump_version.yml
dengan konten ini:
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@v4 with: fetch-depth: 0 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 cabang utama Anda. Dan menambahkan entri changelog untuk setiap commit di cabang utama di CHANGELOG.md
.
Jangan khawatir jika Anda tidak memiliki file ini, file ini akan dibuat untuk Anda.
Untuk membuat ini berfungsi, buat PERSONAL_ACCESS di dalam rahasia GitHub Anda secret sebagai PERSONAL_ACCESS_TOKEN
.
Ini diperlukan untuk memungkinkan CI melakukan commit changelog.
Ketika Anda membuat token, pilih masa berlaku sebagai never
dan lingkup sebagai repo
.
Terakhir, untuk memungkinkan alat memahami di mana versi Anda disimpan, Anda harus membuat file .cz.toml
di root repositori Anda.
Dan tambahkan 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"]
Set versi di file ini sama dengan yang Anda miliki di file package.json
Anda.
Ini hanya diperlukan untuk pertama kali, kemudian alat akan menjaga tetap terbaru.
Anda sekarang dapat melakukan commit kedua file ini dan melihat tag pertama Anda muncul di GitHub!
Tindakan GitHub untuk build
Buat file di jalur ini: .github/workflows/build.yml
dengan konten ini:
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@v4 - 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 }} # Exemple 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 membangun ketergantungan Anda sebelum mengirimnya ke Capgo.
Jika perintah Anda untuk build berbeda, Anda dapat mengubahnya di langkah build_code
.
Untuk membuat ini berfungsi, Anda perlu mendapatkan kunci API Anda untuk Capgo, tambahkan di rahasia repositori GitHub Anda sebagai CAPGO_TOKEN
.
Anda sekarang dapat melakukan commit kedua file ini dan melihat tag pertama Anda muncul di GitHub!
Menambahkan komit akan menghasilkan build baru untuk saluran produksi.
Anda harus menambahkan pengujian Anda dalam langkah build untuk memastikan kode Anda berfungsi.
Buka dasbor Capgo Anda dan periksa build Anda yang baru saja muncul, Anda sekarang memiliki sistem CI/CD Anda.
Jika Anda ingin semua pengguna Anda mendapatkan pembaruan kapan pun tersedia, pergi ke saluran Anda dan atur menjadi public
.