Zum Hauptinhalt springen
CI/CD

Automatisches Build- und Release-Tool mit GitLab

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

Artikelcredits

Martin Donadieu

Autoren

Valeria

Rezensent

Jordan

Editor

Automatische Build- und Release-Anwendung mit GitLab

Dieser Artikel zeigt Ihnen, wie Sie eine CI/CD-Pipeline mit GitLab einrichten können.

Vorwort

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

Commit-Konvention

Zuerst müssen Sie die Commit-Konvention befolgen Kontextuelle Commits` dies hilft den Werkzeugen, wie sie die Versionsnummer aufschlüsseln können, es dauert nur 5 Minuten, um es zu lernen.

Kontextuelle Commits

GitLab CI/CD für Tags

Erstellen Sie ein .gitlab-ci.yml-File im Wurzelverzeichnis 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

Ersetzen Sie “gitlab@yourdomain.com” und “GitLab CI/CD” durch Ihren GitLab-E-Mail-Adresse und Ihren Benutzernamen in der Skript-Sektion. Diese Konfiguration aktiviert die Aufgabe nur bei Pushs auf die Hauptzweig und ausschließt Commits mit Nachrichten, die mit “chore(release):” beginnen.

GitLab CI/CD für Build

Fügen Sie einem weiteren Abschnitt zu Ihrem .gitlab-ci.yml-File 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 Sie Ihren Capgo API-Schlüssel (CAPGO_TOKEN) als CI/CD-Variablen in Ihrem GitLab-Projekt hinzugefügt haben. 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.

Anpassen Sie das Build-Skript an Ihren spezifischen Projekts Build-Prozess, wie z.B. das Ändern des npm-Befehls zum Ausführen des Builds.

Fazit

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

Fortsetzen Sie mit Automatic build and release app mit GitLab

Wenn Sie Automatische Build- und Release-Anwendung mit GitLab um die CI/CD-Automatisierung zu planen, sie mit Capgo CI/CD für den Produktworkflow in Capgo CI/CD, Capgo Native Builds für den Produktworkflow in Capgo Native Builds, Capgo Integrations für den Produktworkflow in Capgo Integrations, CI/CD-Integration für die Implementierungsdetails in CI/CD-Integration, und GitHub Actions Integration für die Implementierungsdetails in GitHub Actions Integration.

Live-Updates für Capacitor-Apps

Bei einem lebenden Web-Schicht-Bug können Sie die Reparatur über Capgo liefern, anstatt Tage für die Genehmigung durch den App-Store zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Menschliche Unterstützung von Martin

Los geht's jetzt

Neuestes aus unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobile App zu erstellen.