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 la branche principale.

Martin Donadieu

Martin Donadieu

Spécialiste du contenu

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

Cette tutrice se concentre sur le GitLab CI, mais vous pouvez l'adapter avec un petit ajustement à n'importe quel autre plateforme CI/CD.

Avant-propos

Assurez-vous d'avoir ajouté votre application en premier lieu à Capgo, 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 commits conventionnelsCela aidera les outils à comprendre comment mettre à jour le numéro de version, cela prendra 5 minutes pour l'apprendre.

Commits conventionnels

GitLab CI pour tag

Ensuite, vous devez créer votre premier GitLab pour que cela se construise automatiquement et crée un tag.

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 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 TOKEN D'ACCÈS PERSONNEL et ajoutez-le à vos variables GitLab CI/CD comme PERSONAL_ACCESS_TOKEN.

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

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

Dernièrement, 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"
]

Fixez la version dans ce fichier à la même que celle que vous avez dans votre package.json fichier.

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

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

Actions GitHub pour la construction

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

This will install and build your dependency before sending it to 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 le secret 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 un nouveau build pour le canal de production. CAPGO_TOKEN.

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

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

You should add your test in the build step to ensure your code is working.

Go To your Capgo dashboard and check your build who just appeared, you now have your CI/CD system.

Si votre commande de build est différente, vous pouvez la modifier dans l'étape. public.

Pour que cela fonctionne, vous devez obtenir votre clé __CAPGO_KEEP_0__ pour __CAPGO_KEEP_1__, l'ajouter dans le secret de votre repository __CAPGO_KEEP_0__

Si vous utilisez Construction automatique et mise en production avec Gitlab 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 les détails d'implémentation dans Intégration CI/CD, et GitHub Intégration d'actions Détails d'implémentation dans GitHub Actions d'intégration.

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 le biais de Capgo au lieu d'attendre des jours pour l'approbation de l'App Store. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les changements natifs restent dans la voie de revue normale.

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.