Passer au contenu principal
CI/CD

Automatisation de la construction et de la mise en production avec Gitlab

Créez votre propre pipeline CI/CD avec Gitlab gratuitement, déployez votre application chaque fois que vous poussez sur main.

Crédits de l'article

Martin Donadieu

Auteur

Valeria

Relecteur

Jordan

Éditeur

Automatisation de la construction et de la mise en production avec Gitlab

Ce tutoriel se concentre sur la CI GitLab, mais vous pouvez l'adapter avec une petite modification à tout autre plateforme CI/CD.

Préface

Assurez-vous d'avoir ajouté votre application en premier lieu à Capgo, ce tutoriel se concentre uniquement sur la phase d'upload.

Convention de commit

Commencez par suivre la convention de commit context: Page/zone : Page de produit de build natif de Capgo / native cloud build product page. Rôle : Étiquette de navigation ou élément de navigation court. Message clé `native_build_builder_credit_first` (Native Build Builder Credit First).Commits conventionnels

` cela aidera les outils à comprendre comment mettre à jour le numéro de version, ce sera de 5 minutes à apprendre.

Commits conventionnels

CI GitLab pour tag

Ensuite, vous devez créer votre premier GitLab pour construire automatiquement et créer un tag. .github/workflows/bump_version.yml

Créez un fichier à cette emplacement :

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 un tag pour chaque commit de votre branché principale. Et ajoutera une entrée de changelog pour chaque commit de la branché principale dans CHANGELOG.md.

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

Pour que cela fonctionne, créez un __CAPGO_KEEP_0__ et ajoutez-l’à vos variables de GitLab CI/CD comme PERSONAL_ACCESS_TOKEN.

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

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

Enfin, pour permettre à l'outil de comprendre où votre version est sauvegardée, vous devez créer le fichier .cz.toml à la racine de votre dépôt.

Et ajoutez ceci à l'intérieur :

[tool.commitizen]
name = "cz_conventional_commits"
tag_format = "$major.$minor.$patch$prerelease"
version = "0.11.5"
version_files = [
    "package.json:version",
    ".cz.toml"
]

Définissez la version dans ce fichier comme celle que vous avez dans votre package.json __CAPGO_KEEP_0__.

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

Vous pouvez maintenant commiter ces deux fichiers et voir votre premier tag apparaître dans GitHub!

Actions de GitHub pour la construction

Créez un fichier à ce chemin : .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 construction est différente, vous pouvez la modifier dans l'étape. build_code Pour que cela fonctionne, vous devez obtenir votre clé de __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 secret of your GitHub repository __CAPGO_KEEP_0__ : __CAPGO_KEEP_3__ CAPGO_TOKEN.

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

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

Vous devriez ajouter vos tests dans l'étape de build pour vous assurer que votre code fonctionne.

Allez à votre tableau de bord de 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 reçoivent l'update dès qu'il est disponible, allez à votre canal et définissez-le sur public.

Continuez de Automatic build and release with Gitlab

Si vous utilisez Automatic build and release with Gitlab pour planifier l'automatisation de CI/CD, connectez-l’avec Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Native Builds pour le flux de travail du produit dans les Capgo Builds natifs Capgo Intégrations pour le flux de travail du produit dans les Capgo Intégrations Intégration CI/CD pour le détail d'implémentation dans l'Intégration CI/CD, et GitHub Intégration d'Actions pour le détail d'implémentation dans les GitHub Intégration d'Actions

Mises à jour en direct pour les applications Capacitor

Lorsqu'un bug de la couche web est en direct, expédiez la correction par le biais de Capgo au lieu de 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.

Support humain de Martin

Démarrer maintenant

Les dernières actualités de notre Blog

Capgo vous offre les meilleures informations nécessaires pour créer une application mobile véritablement professionnelle.