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.

Automatisch Apps bauen und releasen mit GitLab Capgo Blog-Illustration

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 in Capgo hinzufügen musst, kannst du diesem folgen Tutorials.

Commit-Konvention

Zuerst musst du die Commit-Konvention befolgen Conventional Commits` – das hilft dem Tooling, zu verstehen, wie die Versionsnummer hochgestuft wird. Es dauert nur 5 Minuten, es zu lernen.

Conventional Commits

GitLab CI/CD für Tags

Erstellen Sie eine .gitlab-ci.yml-Datei im Stammverzeichnis Ihres GitLab-Repositorys mit dem folgenden 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“ mit Ihrer GitLab-E-Mail-Adresse und Ihrem Benutzernamen im Skriptabschnitt. Diese Konfiguration löst den Job nur bei Pushes auf den main-Branch aus und schließt Commits aus, deren Nachricht mit „chore(release):“ beginnt.

GitLab CI/CD für Builds

Fügen Sie Ihrer .gitlab-ci.yml-Datei eine weitere 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

Stellen Sie sicher, dass Ihr Capgo API-Schlüssel (CAPGO_TOKEN) als CI/CD-Variable in Ihrem GitLab-Projekt hinzugefügt wurde. Gehen Sie zu Ihrem Projekt in GitLab, navigieren Sie zu Einstellungen > CI/CD > Variablen und fügen Sie eine Variable mit dem Namen CAPGO_TOKEN mit Ihrem API-Schlüsselwert hinzu.

Passen Sie das Build-Skript an den Build-Prozess Ihres spezifischen Projekts an, z. B. durch Ändern des npm run build-Befehls.

Fazit

Da wären wir! Wir haben auf unserer technologischen Reise einen weiteren Schritt gemacht. In der modernen Softwareentwicklung ist CI/CD ein wesentlicher Faktor. Ich hoffe, diese Anleitung ergibt für alle Sinn.

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.