Passer au contenu principal
CI/CD

Application de construction et de mise en production automatique avec des actions Github

Créez votre propre pipeline CI/CD avec des actions Github gratuites, déployez votre application Ionic Capacitor JS à chaque fois que vous poussez vers la branche principale.

Martin Donadieu

Martin Donadieu

Marketing de contenu

Application de construction et de mise en production automatique avec des actions Github

Cet article se concentre sur l'hébergement GitHub, mais vous pouvez l'adapter avec quelques ajustements pour n'importe quel autre plateforme CI/CD.

Avant-propos

Assurez-vous d'avoir ajouté votre application Capacitor au Capgo en premier lieu, car cet article se concentre uniquement sur la phase de téléchargement. Si vous devez ajouter votre application au Capgo, vous pouvez suivre ce Tutoriel

Convention de commit

Commencez par suivre la convention de commit Commits conventionnels` cela aidera les outils à comprendre comment mettre à jour le numéro de version, ce sera de 5 minutes à apprendre.

Commits conventionnels

GitHub actions pour étiquette

Créez ensuite votre première action GitHub pour construire automatiquement et créer une étiquette.

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

avec ce contenu :

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

Cela publiera une étiquette pour chaque commit dans votre branché principale. Et ajoutera une entrée de changelog pour chaque commit dans la branché principale dans CHANGELOG.md.

Ne vous inquiétez pas si vous n'avez pas ce fichier, il sera créé pour vous.

Pour que cela fonctionne, créez un TOKEN D'ACCÈS PERSONNEL ajoutez-le à vos GitHub secrets comme PERSONAL_ACCESS_TOKEN.

Cela est nécessaire pour permettre au CI de soumettre le changelog.

Lorsque vous créez le jeton, choisissez l'expiration comme never et le champ d'application comme repo.

Enfin, définissez la version dans votre package.json fichier, synchronisez-le avec votre numéro de version Native qui facilitera, puis la prochaine étape.

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

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

Les deux plateformes native et web auront le numéro de version incrémenté après chaque commit.

GitHub actions de build

Créez un fichier à cet 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 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

Cela installera et construira votre dépendance avant de l'envoyer à Capgo.

Si votre commande de build est différente, vous pouvez la modifier dans l'étape. build_code Pour que cela fonctionne, vous devez obtenir votre clé __CAPGO_KEEP_0__ pour __CAPGO_KEEP_1__, l'ajouter dans les secrets de votre repository __CAPGO_KEEP_0__

To make this work, you need to get your API key for Capgo, add it in the Vous pouvez maintenant commiter ces deux fichiers et voir votre premier tag apparaitre dans GitHub ! L'ajout du commit générera une nouvelle build pour le canal de production. CAPGO_TOKEN.

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

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

You devriez ajouter votre test dans l'étape de build pour vous assurer que votre code fonctionne.

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

Si vous voulez que tous vos utilisateurs puissent obtenir la mise à jour dès qu'elle est disponible, allez à votre canal et définissez-le sur public.

Vous pouvez également ajouter la build native de votre application Ionic Capacitor JavaScript en suivant ce tutoriel 👇

Continuez de l'étape de build automatique et de lancement de l'application avec les actions Github

Si vous utilisez Build et lancement automatique d'application avec les actions Github pour planifier l'automatisation CI/CD, connectez-le avec Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Builds natifs pour le flux de travail du produit dans Capgo Builds natifs, Capgo Intégrations pour le flux de travail du produit dans Capgo Intégrations, Intégration CI/CD pour le détail d'implémentation dans Intégration CI/CD, et GitHub Actions Intégration pour le détail d'implémentation dans GitHub Actions Intégration.

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

Lorsqu'un bug de couche web est en ligne, expédiez la correction par le biais de 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 véritablement professionnelle.