Zum Hauptinhalt springen
CI/CD

Automatischer Build und Release mit GitLab

Erstellen Sie Ihre eigene CI/CD Pipeline mit GitLab kostenlos und deployen Sie Ihre Ionic Capacitor JS App bei jedem Push auf main.

Artikelcredits

Martin Donadieu

Schriftsteller

Valeria

Rezensent

Jordan

Redakteur

Automatischer Build und Release mit GitLab

In diesem Artikel erfahren Sie, wie Sie eine CI/CD-Pipeline in GitLab einrichten.

Vorwort

Stellen Sie sicher, dass Sie Ihr Capacitor-Anwendungsprojekt zuerst in Capgo hinzugefügt haben, da diese Anleitung sich nur auf die Upload-Phase konzentriert. Wenn Sie Ihr Projekt in Capgo hinzufügen möchten, können Sie diese Anleitung befolgen. Tutorial.

Commit-Konvention

Zuerst müssen Sie die Commit-Konvention befolgen conventional commits` this wird Ihnen helfen, die Werkzeuge zu verstehen, wie sie die Versionsnummer aktualisieren können, es dauert etwa 5 Minuten, um es zu lernen.

Conventional Commits

GitLab CI/CD für Tags

Erstellen Sie in der Wurzel Ihres GitLab-Repositorys eine .gitlab-ci.yml-Datei 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

Ersetzen Sie "gitlab@deineDomain.de” und ‘GitLab CI/CD’ mit deinem GitLab-E-Mail-Adresse und Benutzernamen in der Skript-Sektion. Diese Konfiguration löst die Aufgabe nur aus, wenn auf die Hauptzweig gepusht wird, und ausschließt Commits mit Nachrichten, die mit ‘chore(release):’ beginnen.

GitLab CI/CD für Build

Füge einem weiteren Abschnitt deinem .gitlab-ci.yml-Datei 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 du deine Capgo API Schlüssel (CAPGO_TOKEN) als CI/CD-Variablen in deinem GitLab-Projekt hinzugefügt hast. Gehe zu deinem Projekt in GitLab, navigiere zu Einstellungen > CI/CD > Variablen und füge eine Variable mit dem Namen CAPGO_TOKEN mit deinem API Schlüsselwert hinzu.

Anpassen des Build-Skripts, um es deinem spezifischen Projekts Build-Prozess anzupassen, wie z.B. das Ändern des npm-Befehls zum Build.

Zusammenfassung

Wir sind fertig! Wir haben einen weiteren Schritt in unserer Technologie-Reise gemacht. In der modernen Softwareentwicklung ist CICD ein entscheidender Faktor, der berücksichtigt werden muss. Ich hoffe, diese Anleitung ist für alle verständlich.

Fortsetzung von Automatischer Build und Release-App mit GitLab

Wenn du ‘Automatischer Build und Release-App mit GitLab’ verwendest Automatischer Build und Release-App mit GitLab um CI/CD-Automatisierung zu planen, verbinde es mit Capgo CI/CD zur Produktworkflow in Capgo CI/CD Capgo Native Builds zur Produktworkflow in Capgo Native Builds Capgo Integrations zur Produktworkflow in Capgo Integrations CI/CD-Integration zur Implementierungsdetail in CI/CD-Integration, und GitHub Actions-Integration zur Implementierungsdetail in GitHub Actions-Integration

Live Updates für Capacitor-Apps

Wenn ein Fehler im Weblayer live ist, können Sie die Reparatur über Capgo durchführen, anstatt Tage auf die Genehmigung des App-Stores zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Unterstützung durch Martin

Los geht's

Neueste Beiträge aus unserem Blog

Capgo bietet Ihnen die besten Einblicke, die Sie benötigen, um ein wirklich professionelles Mobil-App zu erstellen.