CI/CD

Automatisches Erstellen und Veröffentlichen von Apps mit Github-Aktionen

Erstelle deine eigene CI/CD-Pipeline mit Github Actions kostenlos, deploye deine Ionic Capacitor JS-App jedes Mal, wenn du in den Main branch pushst.

Martin Donadieu

Martin Donadieu

Content Marketer

Automatisches Erstellen und Veröffentlichen von Apps mit Github-Aktionen

Dieses Tutorial konzentriert sich auf das Hosting bei GitHub, aber du kannst es mit kleinen Anpassungen auf jede andere CI/CD-Plattform anwenden.

Vorwort

Stelle sicher, dass du zunächst deine Capacitor-App zu Capgo hinzugefügt hast, dieses Tutorial konzentriert sich nur auf die Upload-Phase. Wenn du deine App zu Capgo hinzufügen musst, kannst du dieses Tutorial befolgen.

Commit-Konvention

Zuerst musst du beginnen, der Commit-Konvention conventional commits zu folgen, dies wird dem Tool helfen zu verstehen, wie die Versionsnummer aktualisiert werden soll, es dauert 5 Minuten, um es zu lernen.

Conventional commits

GitHub-Workflows für Tags

Dann musst du deine erste GitHub-Aktion erstellen, um automatisch zu bauen und Tags zu erstellen.

Erstelle eine Datei unter diesem Pfad: .github/workflows/bump_version.yml

mit diesem Inhalt:

name: Bump version
on:
push:
branches:
- main
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@v4
with:
fetch-depth: 0
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
run: npx capacitor-standard-version
- 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 jedes Commit in deinem Hauptbranch ein Tag freigeben. Und fügt einen Eintrag in das Änderungsprotokoll für jedes Commit im Hauptbranch in CHANGELOG.md hinzu.

Mach dir keine Sorgen, wenn du diese Datei nicht hast, sie wird für dich erstellt.

Um dies zum Laufen zu bringen, erstelle einen PERSONAL_ACCESS in deinem GitHub Geheimnis als PERSONAL_ACCESS_TOKEN.

Dies ist notwendig, damit die CI das Änderungsprotokoll committen kann.

Wenn du das Token erstellst, wähle als Ablaufdatum nie und den Bereich als repo.

Setze zuletzt die Version in deiner package.json-Datei, synchronisiere sie mit deiner nativen Versionsnummer, die das nächste Schritt erleichtert.

Dies ist nur beim ersten Mal notwendig, danach halten die Tools es auf dem neuesten Stand.

Du kannst jetzt beide Dateien committen und sehen, wie dein erstes Tag in GitHub erscheint!

Sowohl die native als auch die Web-Plattform werden nach jedem Commit die Versionsnummer aktualisieren.

GitHub-Workflows für Builds

Erstelle eine Datei unter 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@v4
- name: Install dependencies
id: install_code
run: npm i
- name: Build
id: build_code
run: npm run build
env: # Remove both lines if you don't need it
FIREBASE_CONFIG: ${{ secrets.FIREBASE_CONFIG }} # Exemple of env var coming from a secret
- name: Create Release
id: create_release
run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c production

Dies wird deine Abhängigkeiten installieren und bauen, bevor sie nach Capgo gesendet werden.

Wenn dein Befehl zum Bauen anders ist, kannst du ihn im Schritt build_code ändern.

Um dies zum Laufen zu bringen, musst du deinen API-Schlüssel für Capgo abrufen und ihn im Geheimnis deines GitHub-Repositories als CAPGO_TOKEN hinzufügen.

Du kannst jetzt beide Dateien committen und sehen, wie dein erstes Tag in GitHub erscheint!

Der Commit wird einen neuen Build für den Produktionskanal generieren.

Du solltest deinen Test im Build-Schritt hinzufügen, um sicherzustellen, dass dein Code funktioniert.

Gehe zu deinem Capgo-Dashboard und überprüfe deinen Build, der gerade erschienen ist, du hast jetzt dein CI/CD-System.

Wenn du möchtest, dass alle deine Nutzer das Update erhalten, wann immer es verfügbar ist, gehe zu deinem Kanal und setze ihn auf öffentlich.

Du kannst auch den nativen Build deiner Ionic Capacitor JavaScript-App hinzufügen, indem du dieses Tutorial folgst 👇

Sofortige Updates für CapacitorJS Apps

Pushen Sie Updates, Fixes und Funktionen sofort auf Ihre CapacitorJS-Apps ohne App Store Verzögerungen. Erleben Sie nahtlose Integration, Ende-zu-Ende-Verschlüsselung und Echtzeit-Updates mit Capgo.

Jetzt starten

Neueste Nachrichten

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