Zum Hauptinhalt springen
CI/CD

Mit GitHub Actions die Entwicklung und Produktionsbuild verwalten

Verwenden Sie Capgo zum Freigeben Ihrer Dev-Build in eine bestimmte Kanal und lassen Sie Ihr Team Ihre Capacitor Ionic-App ausprobieren, ohne auf die Apple- und Google-Bewertung zu warten

Martin Donadieu

Martin Donadieu

Inhaltsmarketer

Mit GitHub Actions die Entwicklung und Produktionsbuild verwalten

Dieses Tutorial konzentriert sich auf die GitHub-Hosting, aber Sie können es mit einem kleinen Anpassung an jede andere CI/CD-Plattform anpassen

Vorwort

Stellen Sie sicher, dass Sie Ihre Capacitor-App zuerst in Capgo hinzugefügt haben, da dieses Tutorial nur auf die Upload-Phase fokussiert ist

Commit-Konvention

Zuerst müssen Sie die Commit-Konvention befolgen konventionelle Commits` dies hilft der Werkzeugkiste, die Versionsnummer zu updaten, es dauert 5 Minuten, es zu lernen

Konventionelle Commits

` GitHub Aktionen für die Etikettierung

Dann müssen Sie Ihre erste GitHub Aktion erstellen, um automatisch zu bauen und Etiketten zu erstellen

Erstellen Sie ein Datei an diesem Pfad: .github/workflows/bump_version.yml

mit diesem Inhalt:

name: Bump version

on:
  push:
    branches:
      - main
      - development

jobs:
  bump-version:
    if: "!startsWith(github.event.head_commit.message, 'chore(release):')"
    runs-on: ubuntu-latest
    name: "Bump version and create changelog with standard version"
    steps:
      - name: Check out
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
          filter: blob:none
          token: '${{ secrets.PERSONAL_ACCESS_TOKEN }}'
      - name: Git config
        run: |
          git config --local user.name "github-actions[bot]"
          git config --local user.email "github-actions[bot]@users.noreply.github.com"
      - name: Create bump and changelog
        if: github.ref == 'refs/heads/main'
        run: npx capacitor-standard-version
      - name: Create bump and changelog
        if: github.ref != 'refs/heads/main'
        run: npx capacitor-standard-version --prerelease alpha
      - name: Push to origin
        run: |
          CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
          remote_repo="https://${GITHUB_ACTOR}:${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git"
          git pull $remote_repo $CURRENT_BRANCH
          git push $remote_repo HEAD:$CURRENT_BRANCH --follow-tags --tags

Dies wird für jeden Commit in Ihrer Hauptzweig ein Etikett freigeben. Und ein alpha Release für development, und zuletzt eine Änderungsprotokoll-Eintrag für jeden Commit in CHANGELOG.md.

Keine Sorge, wenn Sie diese Datei nicht haben, sie wird für Sie erstellt

Um dies zu ermöglichen, müssen Sie ein PERSONAL ACCESS TOKEN und fügen Sie es Ihrem GitHub Geheimnisse als PERSONAL_ACCESS_TOKEN.

Dies ist erforderlich, damit der CI die Änderungsprotokoll und die Versionsnummerierung committet.

Wenn Sie das Token erstellen, wählen Sie die Ablaufzeit als never und den Umfang als repo.

Setzen Sie die version Schlüssel in Ihrem package.json Datei. Verwenden Sie dafür die letzte Version, die in dem Store veröffentlicht wurde.

Dies ist nur notwendig bei der ersten Verwendung, dann halten die Werkzeuge es auf dem neuesten Stand.

Sie können diese beiden Dateien jetzt committen und sehen, wie Ihr erster Tag in GitHub erscheint!

capacitor-standard-version ist das Paket, das die Magie bewirkt, standardmäßig aktualisiert auch Ihre Versionsnummer in Android und IOS.

GitHub-Aktionen für die Erstellung

Erstellen Sie eine Datei an diesem Pfad: .github/workflows/build.yml

mit diesem Inhalt:

name: Build source code and send to Capgo

on:
  push:
    tags:
      - '*'
      
jobs:
  deploy:
    runs-on: ubuntu-latest
    name: "Build code and release"
    steps:
      - name: Check out
        uses: actions/checkout@v6
      - name: Install dependencies
        id: install_code
        run: npm i
      - name: Build
        id: build_code
        run: npm build
        env:
          MY_ENV_VAR: ${{ secrets.MY_ENV_VAR }}
      - name: Create Release Alpha
        if: "contains(github.ref, '-alpha.')"
        id: create_release_prepro
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c development
      - name: Create Release Production
        if: "!contains(github.ref, '-alpha.')"
        id: create_release_prod
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c production

Dies installiert und baut Ihre Abhängigkeit vor der Übermittlung an Capgo.

Wenn Ihr Befehl für die Erstellung anders ist, können Sie ihn im build_code Schritt ändern.

Wenn Sie ein Umgebungsvariable benötigen, verwenden Sie den MY_ENV_VAR und setzen Sie den secret in Ihren GitHub-Projekt-Einstellungen, dann Geheimnis dann GitHub-Action.

Um Capgo-Hochladen zu ermöglichen, benötigen Sie Ihren API-Schlüssel für Capgo, fügen Sie ihn in der Geheimnis Ihres GitHub-Repositorys als CAPGO_TOKEN.

Sie können diese beiden Dateien nun committen und sehen, wie Ihre erste Version in Capgo erscheint!

Der Commit wird eine neue Capacitor-Build für die Produktions- und Entwicklungs-Kanäle generieren.

Sie sollten Ihre Tests in der Ionic-Build-Schritt einfügen, um sicherzustellen, dass code ordnungsgemäß funktioniert.

Gehen Sie zu Ihrem Capgo-Dashboard und überprüfen Sie Ihre Build, die gerade erschienen ist. Sie haben jetzt Ihr CI/CD-System.

Fahren Sie mit der Verwaltung von Entwicklung- und Produktionsbuilds mit GitHub-Aktionen fort.

Wenn Sie Die Verwaltung von Entwicklung- und Produktionsbuilds mit GitHub-Aktionen zur Planung von Kanalrouten und der staged Rollout verwenden, verbinden Sie es mit Kanälen für die Implementierungsdetails in den Kanälen, Kanäle für die Implementierungsdetails in den Kanälen, Kanäle für die Implementierungsdetails in den Kanälen, Beta-Testlösung für den Produktworkflow in der Beta-Testlösung, und Versionziel-Lösung für den Produktworkflow in der Versionziel-Lösung.

Live-Updates für Capacitor-Anwendungen

Wenn ein Bug im Weblayer live ist, versenden Sie die Korrektur über Capgo anstatt Tage zu warten, bis die App-Store-Zulassung vorliegt. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Menschliche Unterstützung von Martin

Jetzt loslegen

Neueste von unserem Blog

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