Zum Hauptinhalt springen
CI/CD

Automatischer Build und App-Release mit GitLab

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

Automatischer App-Build und Release mit GitLab

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

Einleitung

Stelle sicher, dass du deine Capacitor App zuerst zu 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 Tutorial.

Commit-Konvention

Zuerst solltest du mit der Einhaltung der Commit-Konvention beginnen Conventional Commits` hilft den Tools dabei, die Versionsnummer automatisch zu aktualisieren. Das Lernen dauert nur 5 Min.

Conventional Commits

GitLab CI/CD für Tags

Erstelle eine .gitlab-ci.yml-Datei im Root deines GitLab-Repositorys 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 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

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.

Weiter von Automatic build and release app with GitLab

Wenn Sie ... verwenden Automatischer App-Build und Release mit GitLab hin zu CI/CD-Automatisierungsplänen und der Anbindung an Capgo CI/CD-Setup für den Produkt-Workflow in Capgo CI/CD, Capgo Native Builds für den Produkt-Workflow in Capgo Native Builds, Capgo Integrationen für den Produkt-Workflow in Capgo Integrationen, 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, rollst du den Fix über Capgo aus, statt Tage auf die App-Store-Freigabe zu warten. Nutzer bekommen das Update im Hintergrund, während native Änderungen weiter den normalen Review-Prozess durchlaufen.

Neuestes aus unserem Blog

Capgo bietet dir die besten Insights für eine wirklich professionelle Mobile App.