Zum Hauptinhalt springen
CI/CD

App-Build und Release automatisch mit GitLab

Erstelle kostenlos deine eigene CI/CD-Pipeline mit GitLab und deploye deine Ionic Capacitor JS-App bei jedem Push auf main.

Apps automatisch bauen und releasen mit GitLab Capgo

In diesem Artikel erfährst du, wie du eine CI/CD-Pipeline mit GitLab aufsetzt.

Vorwort

Stelle sicher, dass du deine Capacitor App zuerst in Capgo hinzugefügt hast; dieses Tutorial konzentriert sich nur auf die Upload-Phase. Falls du deine App zu Capgo hinzufügen möchtest, folge diesem Guide. Tutorials.

Commit-Konvention

Zuerst solltest du mit der Commit-Konvention beginnen Conventional Commits` hilft den Tools zu verstehen, wie die Versionsnummer aktualisiert werden soll. Das Lernen dauert nur 5 Min.

Conventional Commits

GitLab CI/CD für Tags

Erstelle eine .gitlab-ci.yml-Datei im Root deines GitLab-Repositories mit folgendem Inhalt

 stages:
      - tag

 bump_version:
   stage: tag
   only:
     - main
  except:
    variables:
  - $CI_COMMIT_MESSAGE =~ /^chore\(release\):/
  script:
   - git config --global user.email "gitlab@yourdomain.com"
   - git config --global user.name "GitLab CI/CD"
   - git checkout $CI_COMMIT_REF_NAME
   - git pull origin $CI_COMMIT_REF_NAME
   - npx capacitor-standard-version
   - git push origin $CI_COMMIT_REF_NAME --tags

Ersetze „gitlab@yourdomain.com“ und „GitLab CI/CD“ im Script-Bereich durch deine GitLab-E-Mail und deinen Benutzernamen. Diese Konfiguration triggert den Job nur bei Pushes auf den main-Branch und schließt Commits mit Nachrichten aus, die mit „chore(release):“ beginnen.

GitLab CI/CD für Builds

Füge deiner .gitlab-ci.yml Datei einen weiteren Stage für den Build hinzu:

    stages:
      - deploy

   deploy:
     stage: deploy
     only:
       - tags  # This job will only run for tag pushes
     script:
       - apt-get update -qy && apt-get install -y nodejs npm
       - npm install -g @capgo/cli
       - npm ci
       - npm run build
       - npx @capgo/cli bundle upload -a $CAPGO_TOKEN -c production
     variables:
       FIREBASE_CONFIG: $FIREBASE_CONFIG  # Define this in your GitLab project settings
     environment:
       name: production

Stelle sicher, dass dein Capgo API Key (CAPGO_TOKEN) als CI/CD-Variable in deinem GitLab-Projekt hinterlegt ist. Gehe in GitLab zu deinem Projekt, navigiere zu Settings > CI/CD > Variables und füge eine Variable namens CAPGO_TOKEN mit deinem API Key-Wert hinzu.

Passe das Build-Script an den spezifischen Build-Prozess deines Projekts an, zum Beispiel durch Ändern des npm run build Befehls.

Fazit

Geschafft! Wir haben einen weiteren Schritt auf unserer Tech-Reise gemacht. In der modernen Softwareentwicklung ist CI/CD ein essenzieller Faktor. Ich hoffe, dass diese Anleitung für alle hilfreich ist.

Weiterlesen: Automatische Builds und App-Releases mit GitLab

Wenn du es nutzt App-Build und Release automatisch mit GitLab um CI/CD-Automatisierung zu planen, verbinde es mit Capgo CI/CD für den Produkt-Workflow in Capgo CI/CD, Capgo Native Builds optimieren für den Produkt-Workflow in Capgo Native Builds, Capgo Integrationen für den Produkt-Workflow in Capgo Integrations, CI/CD-Integration für die Implementierungsdetails in der CI/CD-Integration und GitHub Actions-Integration für die Implementierungsdetails in der GitHub Actions-Integration.

Live-Updates für Capacitor-Apps

Wenn ein Bug im Web-Layer live ist, liefere den Fix über Capgo aus, statt Tage auf die App-Store-Freigabe zu warten. Nutzer bekommen das Update im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Neues aus unserem Blog

Capgo gibt dir die besten Insights, um eine wirklich professionelle Mobile App zu erstellen.