Zum Hauptinhalt springen
CI/CD

Verwalten Sie die Entwicklung und Produktionsbuilds mit GitHub-Aktionen

Verwenden Sie Capgo zum Freigeben Ihrer Dev-Build in einer bestimmten 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

Content-Marketing-Manager

Verwalten Sie die Entwicklung und Produktionsbuilds mit GitHub-Aktionen

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

Vorwort

Stellen Sie sicher, dass Sie Ihr Capacitor-Anwendungsprogramm zuerst in Capgo hinzugefügt haben, diese Anleitung konzentriert sich nur auf die Upload-Phase.

Commit-Konvention

Zuerst müssen Sie die Commit-Konvention befolgen. Konventionelle Commits` dies wird Ihnen helfen, die Werkzeuge zu verstehen, wie sie die Versionsnummer aufzubauen, es dauert 5 Minuten, es zu lernen.

Konventionelle Commits

GitHub-Aktionen für Tags

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

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

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

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

Dies ist erforderlich, um dem CI die Änderungsprotokoll-Einträge und die Versionsnummer zu ermöglichen.

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

Setze die version Schlüssel in deinem package.json Datei. Verwende dafür die letzte Version, die im Store veröffentlicht wurde.

Dies ist nur notwendig bei der ersten Anwendung, dann werden die Tools es aktualisieren.

Du kannst jetzt diese beiden Dateien committen und sehen, wie dein erster Tag in GitHub erscheint!

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

GitHub-Aktionen für das Build

Erstelle 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 deine Abhängigkeit, bevor sie an Capgo gesendet wird.

Wenn dein Build-Befehl anders ist, kannst du ihn in der build_code Schritt.

Wenn Sie ein Umgebungsvariable benötigen, verwenden Sie das MY_ENV_VAR und setzen Sie das secret in Ihrem GitHub Projekt-Einstellung, dann Geheimnis dann GitHub Aktion.

Um Capgo hochzuladen zu machen, benötigen Sie Ihren API Schlüssel für Capgo, fügen Sie ihn in der Geheimnis Ihres GitHub Repository als CAPGO_TOKEN.

Sie können jetzt diese beiden Dateien committen und sehen Sie Ihre erste Version in Capgo!

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

Sie sollten Ihre Tests in der Ionic Build-Schritt hinzufügen, um sicherzustellen, dass code funktioniert.

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

Fahren Sie fort, um Entwicklung- und Produktionsbuilds mit GitHub-Aktionen zu verwalten.

Wenn Sie Entwicklungs- und Produktionsbuilds mit GitHub Aktionen verwalten um Kanalrouting und rollende Veröffentlichung zu planen, verbinden Sie es mit Kanäle für die Implementierungsdetails in Kanäle, Kanäle für die Implementierungsdetails in Kanäle, Kanäle für die Implementierungsdetails in Kanäle, Beta-Testlösung für das Produktworkflow in Beta-Testlösung, und Versionziel-Lösung für das Produktworkflow in der Version Targeting Lösung.

Live-Updates für Capacitor-Apps

Wenn ein Web-Schicht-Bug live ist, versenden Sie die Reparatur über Capgo anstatt Tage zu warten, bis die App-Store-Zulassung genehmigt ist. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Überprüfungsprozess bleiben.

Los geht's jetzt

Neuestes aus unserem Blog

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