Writing Skills
writing-skills
效率与协作技能,来自 obra/superpowers,查看原文获取完整用途和操作说明。
deploy-to-vercel【部署与运维】Eine Next.js-Anwendung auf Vercel deployen. Behandelt Projektverknuepfung, Umgebungsvariablen, Preview-Deployments, benutzerdefinierte Domains und Produktions-Deployment-Konfiguration. Anwenden beim erstmaligen Deployment einer Next.js-App, beim Einrichten von Preview-Deployments fuer Pull Requests, beim Konfigurieren benutzerdefinierter Domains oder…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Eine Next.js-Anwendung mit Produktionskonfiguration auf Vercel deployen.
npm run build
Erwartet: Build ist fehlerfrei erfolgreich.
Bei Fehler: Build-Fehler vor dem Deployment beheben. Haeufig: TypeScript-Fehler, fehlende Abhaengigkeiten, ungueltige Importe.
npm install -g vercel
Erwartet: Der Befehl vercel ist global verfuegbar und vercel --version gibt die installierte Version aus.
Bei Fehler: Bei Berechtigungsfehlern sudo npm install -g vercel verwenden oder npm so konfigurieren, dass ein benutzerlokales Praefix verwendet wird. Mit node --version verifizieren dass Node.js installiert ist.
# Login to Vercel
vercel login
# Deploy (first time: creates project)
vercel
# Follow prompts:
# - Set up and deploy? Y
# - Which scope? (select your account)
# - Link to existing project? N (for new projects)
# - Project name: my-app
# - Directory: ./
# - Override settings? N
Erwartet: Preview-URL wird bereitgestellt (z.B. https://my-app-xxx.vercel.app).
Bei Fehler: Wenn vercel login fehlschlaegt, Internetverbindung pruefen und browserbasierte Authentifizierung versuchen. Wenn das Deployment fehlschlaegt, die Build-Ausgabe auf Fehler ueberpruefen -- Vercel verwendet eine saubere Umgebung, daher muessen alle Abhaengigkeiten in package.json stehen.
# Add environment variables
vercel env add DATABASE_URL production
vercel env add API_KEY production preview
# List environment variables
vercel env ls
Oder ueber das Vercel-Dashboard konfigurieren: Project Settings > Environment Variables.
Erwartet: vercel env ls zeigt alle erforderlichen Umgebungsvariablen fuer die korrekten Umgebungen an (production, preview, development).
Bei Fehler: Wenn Variablen zur Laufzeit nicht erscheinen, pruefen ob die Zielumgebung uebereinstimmt (production vs. preview). Nach dem Hinzufuegen von Variablen erneut deployen -- bestehende Deployments uebernehmen neue Variablen nicht automatisch.
vercel --prod
Erwartet: Produktions-URL ist verfuegbar (z.B. https://my-app.vercel.app).
Bei Fehler: Deployment-Logs mit vercel logs oder im Vercel-Dashboard pruefen. Haeufige Probleme sind fehlende Umgebungsvariablen in der Produktionsumgebung und Build-Befehle die sich vom lokalen Setup unterscheiden.
Erwartet: Das Vercel-Dashboard zeigt das GitHub-Repository als verbunden, und nachfolgende Pushes nach main loesen automatisch Produktions-Deployments aus.
Bei Fehler: Wenn das Repository in der Importliste nicht erscheint, pruefen ob die Vercel-GitHub-App Zugriff auf das Repository hat. Unter GitHub Settings > Applications > Vercel den Zugriff gewaehren.
vercel domains add my-domain.com
Oder ueber das Dashboard: Project Settings > Domains.
DNS-Eintraege gemaess Vercel-Anweisungen aktualisieren (typischerweise CNAME- oder A-Record).
Erwartet: vercel domains ls zeigt die benutzerdefinierte Domain als konfiguriert, und nach DNS-Propagation (bis zu 48 Stunden) loest die Domain zum Vercel-Deployment auf.
Bei Fehler: Wenn die Domain "Invalid Configuration" anzeigt, pruefen ob die DNS-Eintraege exakt den Vercel-Anweisungen entsprechen. Mit dig my-domain.com oder einem Online-DNS-Checker die Propagation bestaetigen.
vercel.json fuer erweiterte Einstellungen erstellen:
{
"framework": "nextjs",
"regions": ["iad1"],
"headers": [
{
"source": "/api/(.*)",
"headers": [
{ "key": "Cache-Control", "value": "no-store" }
]
}
]
}
Erwartet: vercel.json ist im Projektstammverzeichnis gespeichert und das naechste Deployment uebernimmt die Konfiguration (sichtbar in den Vercel-Dashboard-Build-Logs).
Bei Fehler: Wenn die Konfiguration ignoriert wird, mit jq . vercel.json pruefen ob gueiltiges JSON vorliegt. Die Vercel-Dokumentation fuer die jeweilige Framework-Version pruefen, da einige Einstellungen nach next.config.ts verschoben sein koennten.
npm run build ist lokal erfolgreichpackage.json stehen und nicht nur global installiert sind..env.local. Verschiedene Umgebungen (production, preview, development) haben getrennte Variablensaetze.package.json-engines-Feld festlegen..vercelignore verwenden um unnoetige Dateien auszuschliessen.scaffold-nextjs-app -- Die zu deployende App erstellensetup-tailwind-typescript -- Styling vor dem Deployment konfigurierenconfigure-git-repository -- Git-Setup fuer Auto-Deploy-Integration