BereitstellungVon GitHub deployen

Von GitHub deployen

Verbinde ein GitHub-Repository, und Lizard (lizard.build) baut und deployt deine App bei jedem Push in den verfolgten Branch neu: git push to deploy. Führe lizard add -r owner/repo aus, um den Service zu erstellen; bei einem privaten Repository verbinde zuerst die Lizard GitHub App mit lizard git connect. Das ist der empfohlene Weg, eine App auszuführen, die du auf GitHub verwaltest. Für Code ohne Remote deploye stattdessen von lokalem Code.

Einen Service aus einem Repo erstellen

lizard add -r your-org/your-app

Dadurch wird ein github-source-Service erstellt, das Repo geklont, der Stack automatisch erkannt (lizardpack), gebaut und eine Live-URL zurückgegeben. Nützliche Flags:

FlagZweck
-r, --repo <owner/repo>Quell-Repository
-n, --name <name>Service-Name (verwendet in ${{name.KEY}}-Refs und im Dashboard)
-v, --variables <K=V>Eine Umgebungsvariable setzen; mehrfach verwendbar
--region <code>Region für das Deployment
--no-deployDas Repo verbinden, aber den ersten Build überspringen

Private Repositories

Verbinde die Lizard GitHub App einmal pro Account, um Zugriff auf private Repos zu gewähren:

lizard git connect
lizard git status        # show connection + repo status

Du kannst den Repository-Zugriff auch auf der Seite GitHub-Integration im Dashboard verbinden und verwalten (lizard open).

Einen bestehenden Service auf ein Repo verweisen lassen

Um einen Service auf eine Git-Quelle umzustellen (oder Repo/Branch zu ändern):

lizard service set api \
  --set sourceType=github \
  --set repoUrl=https://github.com/your-org/your-app \
  --set branch=main

Das Ändern eines Build-Felds löst bei einem laufenden Service automatisch einen Rebuild aus. Hänge danach kein redeploy an, sonst stellst du zwei Builds in die Warteschlange. Ein abgestürzter oder noch nie bereitgestellter Service braucht lizard redeploy.

Hinweis: lizard up erzwingt immer sourceType=upload. Verwende es nicht, um einen Git-gestützten Service zu aktualisieren — pushe zum Remote oder verwende stattdessen lizard redeploy.

Automatische erneute Bereitstellung bei Push

Sobald repoUrl gesetzt ist, lösen Pushes zum passenden branch über den GitHub-Webhook automatisch eine erneute Bereitstellung aus. Verbinde die Lizard GitHub App (lizard git connect), damit Lizard Push-Events für das Repository erhält. Um festzulegen, welche Pushes eine erneute Bereitstellung auslösen:

  • rootDirectory — nur ein Unterverzeichnis bauen (Monorepos).
  • watchPatterns — nur dann erneut bereitstellen, wenn passende Pfade geändert werden.
lizard service set api --set watchPatterns='apps/api/**,packages/**'

Branches wechseln

lizard git checkout api staging      # move the `api` service to the `staging` branch and redeploy

Monorepos

Für ein Repo, das mehrere Apps enthält, erstelle einen Service pro App und setze dessen rootDirectory auf den Unterpfad:

lizard add -r your-org/monorepo -n api --no-deploy
lizard service set api --set rootDirectory=apps/api
lizard redeploy --service api

Wenn dein aktuelles Verzeichnis eine Sub-App in einem Repo ist, dessen Elternverzeichnis bereits verknüpft ist, füge den Service im Projekt des übergeordneten Verzeichnisses hinzu und setze rootDirectory auf den Unterpfad des aktuellen Verzeichnisses.

Siehe auch

Aktualisiert