vercel deployment hooks
Author Cloudapp
E.G.

Kontrolle von Vercel Deployments und Webhooks für Nextjs 14

10. Mai 2024
Inhaltsverzeichnis

Die Bereitstellung eines Nextjs-Projekts auf Vercel ist relativ einfach, und alles, was Sie benötigen, ist ein GitHub-Konto, in dem Sie Ihren Projektcode verwalten. Sie können Ihre GitHub-Zugangsdaten für die Social-Login-Funktion von Vercel wiederverwenden, so dass der Prozess der Kontoerstellung unkompliziert ist.

Standard-Workflow

Wenn Sie dem Standard-Workflow folgen, verbindet Vercel Ihr GitHub-Repository mit Ihrem Projekt und lauscht auf dem Hauptzweig auf Änderungen, die dann einen neuen Einsatz auslösen.

vercel settings git
vercel settings git

Vorschau und Produktionseinsatz

Wenn Sie einen zusätzlichen Zweig wie "dev" oder "stage" erstellen und auf diesen Entwicklungszweig übertragen, löst Vercel ein Preview-Deployment aus. Sie können es im Reiter "Deployments" in der oberen linken Ecke sehen. Es gibt "Production"- und "Preview"-Einsätze, wobei es natürlich sinnvoll ist, diese Vorschau-Einsätze zu haben, aber manchmal möchte man den Einsatz überspringen oder eine genauere Kontrolle haben.

Build-Schritt ignorieren

Hier kommt die Option "Build-Schritt ignorieren" ins Spiel. Sie finden sie unter Einstellungen -> Git (Punkt 4 im untenstehenden Screenshot)

vercel bash hook
vercel bash hook

Es handelt sich um ein einfaches Bash-Skript, das neue Commits verarbeitet, sobald sie eintreffen.

Wie Sie im obigen Code sehen können, löse ich das Deployment nur aus, wenn der Commit aus dem "dev" oder "main" Branch kommt. Alle anderen Commits werden übersprungen, so dass Sie Build-Minuten sparen können. Das Bash-Skript muss sich im entsprechenden Zweig (GitHub) befinden.

Der alternative Trigger für Vercel Deployments

Wie Sie unter Punkt 3 im obigen Screenshot sehen, können Sie auch einen Deploy-Hook einrichten. Wenn Sie Contentful als CMS verwenden, können Sie einen Webhook erstellen, der bei der Erstellung/Änderung von Inhalten ausgelöst wird.

  1. Vercel Link, den wir aus den Projekteinstellungen erhalten können

  2. Auswählen, wann der Hook ausgelöst werden soll

  3. Filter auf bestimmte Inhaltstypen

Vercel-Deploy-Webhooks-Contentful
Vercel-Deploy-Webhooks-Contentful

Sie können es auch in Postman integrieren und die Anfrage auslösen, wann Sie wollen. Das bleibt Ihnen überlassen. Ein guter Workaround für Contentful wäre es, einen eigenen Content-Typ zu erstellen, z.B. "Releases", so dass der Hook nur ausgelöst wird, wenn Sie einen neuen Content-Eintrag dieses Typs erstellen. Es kann lästig sein, dass jede Inhaltsänderung ein Deployment auf Vercel auslöst.

Contentful Release Content Type
Contentful Release Content Type

Alles, was Sie dazu brauchen, finden Sie auf meinem Blog "Cloudapp.dev"

Dort gibt es für jeden Schritt einen Beitrag/eine Geschichte, beginnend bei Null -> Zero to Hero ;-)

Cloudapp-dev und bevor Sie uns verlassen

Danke, dass Sie bis zum Ende gelesen haben. Noch eine Bitte bevor Sie gehen:

  • Wenn Ihnen gefallen hat was Sie gelesen haben oder wenn es Ihnen sogar geholfen hat, dann würden wir uns über einen "Clap" 👏 oder einen neuen Follower auf unseren Medium Account sehr freuen.

Verwandte Artikel