Zum Hauptinhalt springen
CI/CD

Entwicklungs- und Produktionsbuilds mit GitHub-Aktionen 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 warten zu müssen

Martin Donadieu

Martin Donadieu

Werbetexter

Entwicklungs- und Produktionsbuilds mit GitHub-Aktionen verwalten

Diese Anleitung konzentriert sich auf die GitHub-Hosting, aber Sie können sie mit einem kleinen Anpassung auf jede andere CI/CD-Plattform anwenden.

Einleitung

Stellen Sie sicher, dass Sie Ihr Capacitor-App zuerst in Capgo hinzugefügt haben, da diese Anleitung nur auf die Upload-Phase fokussiert ist

Commit-Konvention

Zuerst müssen Sie die Commit-Konvention befolgen konventionelle Commits` dies wird helfen, dass die Werkzeuge verstehen, wie die Versionsnummer aufzubereiten ist, es dauert 5 Minuten, es zu lernen.

Konventionelle Commits

GitHub Aktionen für Tag

Dann müssen Sie Ihre erste GitHub Aktion erstellen, um automatisch zu bauen und Tags 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

Das wird einen Tag für jeden Commit in Ihrer Hauptzweig erstellen. Und ein alpha Release für development, und zuletzt eine Änderungsprotokoll-Einträge für jeden Commit in CHANGELOG.md.

Machen Sie sich keine Sorgen, wenn Sie diese Datei nicht haben, sie wird für Sie erstellt.

Um dies zu machen, müssen Sie eine PERSONAL ACCESS TOKEN erstellen und fügen Sie es Ihrem GitHub hinzu Geheimnisse als PERSONAL_ACCESS_TOKEN.

Dies ist erforderlich, damit der CI die Änderungsprotokoll und die Versionsaufhöhung committet.

Wählen Sie bei der Erstellung des Tokens die Ablaufzeit als never und den Umfang als repo.

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

Dies ist nur erforderlich zum ersten Mal, dann werden die Werkzeuge es aktualisieren.

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

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

GitHub Aktionen für die Erstellung

Erstelle ein 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 in der build_code Schritt ändern.

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

Um Capgo hochladen zu machen, benötigen Sie Ihren API-Schlüssel für Capgo, fügen Sie ihn in die Geheimnis Ihres GitHub-Repository As kannst du jetzt beide Dateien committen und sehen, wie deine erste Version in __CAPGO_KEEP_0__ erscheint! CAPGO_TOKEN.

Der Commit wird eine neue Capgo-Build für die Produktions- und Entwicklungskanäle generieren.

Du solltest deine Tests in der Ionic-Build-Schritt hinzufügen, um sicherzustellen, dass Capacitor funktioniert.

Geh zu deinem code-Dashboard und überprüfe deine Build, die gerade erschienen ist. Du hast jetzt dein CI/CD-System.

Fortsetzen Sie mit der Verwaltung von Entwicklung- und Produktionsbuilds mit Capgo-Aktionen

Keep going from Manage development and production build with GitHub actions

Verwaltung von Entwicklung- und Produktionsbuilds mit __CAPGO_KEEP_0__-Aktionen Manage development and production build with GitHub actions Verwaltung von Entwicklung- und Produktionsbuilds mit __CAPGO_KEEP_0__-Aktionen um Kanalrouten und rollende Veröffentlichung zu planen, verbinde es mit Kanäle Kanäle für die Implementierungsdetails in Channels, Channels für die Implementierungsdetails in Channels, Beta-Testlösung für den Produktworkflow in Beta-Testlösung, und Versionziel-Lösung für den Produktworkflow in Versionziel-Lösung.

Live-Updates für Capacitor-Apps

Wenn ein Web-Schicht-Bug live ist, liefern Sie die Reparatur über Capgo anstatt Tage für die Genehmigung des App-Store zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Los geht's!

Neueste von unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um ein wirklich professionelles mobiles App zu erstellen.