Aller directement au contenu principal

Gérez les builds de développement et de production avec des actions GitHub

Utilisez Capgo pour publier votre devbuild sur un canal spécifique, et laissez votre équipe essayer votre Capacitor application Ionic, sans attendre la revue d'Apple et Google

Martin Donadieu

Martin Donadieu

Spécialiste du contenu

Gérez les builds de développement et de production avec des actions GitHub

Cette tutrice se concentre sur l'hébergement GitHub, mais vous pouvez l'adapter avec un petit ajustement à n'importe quel autre plateforme d'intégration/Déploiement Continue

Avant-propos

Assurez-vous d'avoir ajouté votre application Capacitor à Capgo en premier lieu, cette tutrice ne se concentre que sur la phase d'upload

Convention de commit

Tout d'abord, vous devez commencer à suivre la convention de commit commit conventionnel ` cela aidera les outils à comprendre comment mettre à jour le numéro de version, c'est 5 minutes à apprendre.

Commits conventionnels

GitHub actions pour tag

Ensuite, vous devez créer votre premier GitHub action pour construire automatiquement et créer des tags.

Créez un fichier à cette emplacement : .github/workflows/bump_version.yml

avec ce contenu :

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

Cela publiera un tag pour chaque commit dans votre branch principale. Et un alpha release pour development, et enfin une entrée de changelog pour chaque commit dans CHANGELOG.md.

N'ayez pas peur si vous n'avez pas ce fichier, il sera créé pour vous.

Pour que cela fonctionne, vous devez créer un PERSONAL ACCESS TOKEN and add it to your GitHub __CAPGO_KEEP_0__ secrets PERSONAL_ACCESS_TOKEN.

comme

Cela est nécessaire pour permettre au CI de commiter le changelog et la mise à jour de version. never Lorsque vous créez le jeton, choisissez l'expiration comme repo.

et le champ d'accès comme version Définissez la package.json clé dans votre fichier. Utilisez à cet effet la dernière version publiée sur L'App Store.

Cela n'est nécessaire que la première fois, puis les outils mettront à jour automatiquement.

Vous pouvez maintenant commiter ces deux fichiers et voir votre premier tag apparaitre dans GitHub!

capacitor-standard-version C'est le package qui fait la magie, par défaut, il met également à jour votre numéro de version sur Android et IOS

GitHub actions de build

Créez un fichier à cette emplacement : .github/workflows/build.yml

avec ce contenu :

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

Cela installe et construit votre dépendance avant de l'envoyer à Capgo.

Si votre commande de build est différente, vous pouvez la modifier dans le build_code étape.

Si vous avez besoin d'une variable d'environnement, utilisez le MY_ENV_VAR et définissez le secret dans les paramètres de votre projet GitHub, puis secret puis GitHub Action.

Pour que l'Capgo__ téléchargement fonctionne, vous devez obtenir votre API clé pour Capgo, l'ajouter dans le secret de votre GitHub dépôt comme CAPGO_TOKEN.

Vous pouvez maintenant commiter ces deux fichiers et voir votre première version apparaitre dans Capgo!

L'ajout du commit générera une nouvelle Capacitor build pour le canal de production et de développement.

Vous devriez ajouter vos tests dans l'étape de build Ionic pour être certain que votre code fonctionne.

Allez à votre Capgo tableau de bord et vérifiez votre build qui vient d'apparaître, vous avez maintenant votre système CI/CD.

Mises à jour en temps réel pour les applications Capacitor

Lorsqu'un bug de la couche web est en ligne, expédiez la correction par Capgo au lieu d'attendre des jours pour l'approbation de la boutique d'applications. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les modifications natives restent dans le chemin de revue normal.

Commencez maintenant

Dernières actualités de notre blog

Capgo vous donne les meilleures informations dont vous avez besoin pour créer une application mobile vraiment professionnelle.