Lompat ke konten utama
CI/CD

Kelola pembangunan dan produksi build dengan aksi GitHub

Gunakan Capgo untuk merilis devbuild Anda ke saluran tertentu, dan biarkan tim Anda mencoba Capacitor aplikasi Ionic Anda, tanpa harus menunggu tinjauan Apple dan Google

Martin Donadieu

Martin Donadieu

Spesialis Konten

Kelola pembangunan dan produksi build dengan aksi GitHub

Tutorial ini berfokus pada penyimpanan GitHub, tetapi Anda dapat menyesuaikannya dengan sedikit perubahan untuk platform CI/CD lainnya.

Pendahuluan

Pastikan Anda telah menambahkan aplikasi Capacitor Anda terlebih dahulu ke Capgo, tutorial ini hanya berfokus pada fase unggah.

Konvensi komit

Pertama-tama Anda perlu memulai mengikuti konvensi komit komit konvensional ` ini akan membantu alat pemahaman bagaimana untuk meningkatkan versi nomor, itu hanya 5 menit untuk dipelajari.

Komit Konvensional

GitHub aksi untuk tag

Kemudian Anda perlu membuat aksi GitHub pertama untuk membangun dan membuat tag secara otomatis.

Buat file di path ini: .github/workflows/bump_version.yml

dengan konten ini:

name: Bump version

on:
  push:
    branches:
      - main
      - development

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
        if: github.ref == 'refs/heads/main'
        run: npx capacitor-standard-version
      - name: Create bump and changelog
        if: github.ref != 'refs/heads/main'
        run: npx capacitor-standard-version --prerelease alpha
      - 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

This akan merilis tag untuk setiap komit di cabang utama Anda. Dan rilis untuk alpha , dan terakhirnya entri perubahan untuk setiap komit di developmentTidak perlu khawatir jika Anda tidak memiliki file ini, akan dibuat untuk Anda. CHANGELOG.md.

Membuat ini berfungsi, Anda perlu membuat sebuah

PERSONAL ACCESS TOKEN dan menambahkannya ke __CAPGO_KEEP_0__ GitHub rahasia sebagai Ini diperlukan untuk memungkinkan CI mengirimkan perubahan perubahan dan peningkatan versi. PERSONAL_ACCESS_TOKEN.

Saat Anda membuat token, pilihlah masa berlaku sebagai

release for never dan lingkungan sebagai repo.

Setel version di kunci di file Anda. Gunakan untuk itu versi terakhir yang dirilis di Toko. package.json Ini hanya perlu dilakukan kali pertama, kemudian alat-alat akan menjaganya sampai saat ini.

Anda dapat sekarang mengirimkan kedua file ini dan melihat tag pertama muncul di __CAPGO_KEEP_0__!

You can now commit this both files and see your first tag appear in GitHub!

capacitor-standard-version aksi __CAPGO_KEEP_0__ untuk pembangunan

GitHub actions for build

dengan konten ini: .github/workflows/build.yml

Ini akan menginstal dan membangun dependensi Anda sebelum mengirimkannya ke __CAPGO_KEEP_0__.

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 build
        env:
          MY_ENV_VAR: ${{ secrets.MY_ENV_VAR }}
      - name: Create Release Alpha
        if: "contains(github.ref, '-alpha.')"
        id: create_release_prepro
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c development
      - name: Create Release Production
        if: "!contains(github.ref, '-alpha.')"
        id: create_release_prod
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c production

This will install and build your dependency before sending it to Capgo.

__CAPGO_KEEP_0__ build_code lang: id

step. MY_ENV_VAR Jika Anda memerlukan variabel lingkungan, gunakan secret in your GitHub project setting, then secret then GitHub Action.

To make Capgo upload work, you need to get your API key for Capgo, add it in the Membuat GitHub unggah berfungsi, Anda memerlukan untuk mendapatkan kunci __CAPGO_KEEP_1__ Anda untuk __CAPGO_KEEP_2__, tambahkan di dalam rahasia dari repositori __CAPGO_KEEP_0__ Anda CAPGO_TOKEN.

You can now commit this both files and see your first version appear in Capgo!

Anda dapat sekarang menambahkan file-file ini dan melihat versi pertama Anda muncul di Capacitor!

Menambahkan komit akan menghasilkan build code baru untuk saluran produksi dan pengembangan.

Anda harus menambahkan tes di langkah build Ionic untuk memastikan Capgo Anda berfungsi.

Pergi ke dashboard GitHub Anda dan periksa build yang baru muncul, Anda sekarang memiliki sistem CI/CD Anda sendiri.

Jika Anda menggunakan Kelola pembangunan dan produksi dengan GitHub aksi untuk merencanakan routing saluran dan peluncuran tahap demi tahap, hubungkannya dengan Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Saluran, Solusi Uji Beta untuk alur produk di Solusi Uji Beta, dan Solusi Target Versi Untuk alur produk dalam Solusi Targeting Versi.

Pembaruan Langsung untuk Aplikasi Capacitor

Ketika bug-layer web masih aktif, kirimkan perbaikan melalui Capgo bukan menunggu hari-hari untuk persetujuan toko aplikasi.

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk membuat aplikasi mobile profesional yang sebenarnya.