Der deploy-Befehl liest Ihre docmd.config.json und generiert Deployment-Konfigurationsdateien, die exakt auf Ihr Projekt zugeschnitten sind — Ausgabeverzeichnis, Site-URL, SPA-Routing und Node.js-Version werden automatisch übernommen. Keine generischen Vorlagen.
Unterstützte Provider
| Provider | Flag | Generierte Dateien |
|---|---|---|
| Docker + Nginx | --docker |
Dockerfile, .dockerignore |
| Nginx | --nginx |
nginx.conf |
| Caddy | --caddy |
Caddyfile |
| GitHub Pages | --github-pages |
.github/workflows/deploy.yml |
| Vercel | --vercel |
vercel.json |
| Netlify | --netlify |
netlify.toml |
Verwendung
Ausführen im Projektstamm (dort, wo docmd.config.json liegt):
# Einzelner Provider
npx @docmd/core deploy --github-pages
# Mehrere Provider gleichzeitig
npx @docmd/core deploy --docker --nginx
# Vorhandene Dateien überschreiben
npx @docmd/core deploy --vercel --force
Was personalisiert wird
Der Deploy-Befehl liest Ihre Konfiguration (oder Zero-Config-Standardwerte) und injiziert:
| Konfigurationsfeld | Verwendet in |
|---|---|
title |
Kommentar-Header in jeder generierten Datei |
out |
COPY-Pfade im Dockerfile, root-Direktiven in Nginx/Caddy |
url |
server_name in Nginx, Site-Adresse in Caddy |
layout.spa |
Steuert, ob SPA-Routing-Fallback enthalten ist |
| Konfigurations-Dateipfad | Dockerfile-Build-Schritt verwendet --config bei nicht-standardmäßigem Pfad |
Keine docmd.config.json? Kein Problem. Der Befehl nutzt die gleichen Zero-Config-Standardwerte wie npx @docmd/core dev und npx @docmd/core build.
Immer synchron
Jede Ausführung generiert Ihre Deployment-Dateien neu, um sie mit Ihrer aktuellen Konfiguration abzugleichen. Site-URL oder Ausgabeverzeichnis geändert? Deploy-Befehl einfach erneut ausführen. Mit --force werden vorhandene Dateien ohne Rückfrage überschrieben.
Provider-Details
GitHub Pages
npx @docmd/core deploy --github-pages
Generiert .github/workflows/deploy.yml mit einer vollständigen Build-und-Deploy-Pipeline. Der Workflow checkt Ihr Repository aus, installiert Node.js, führt npx @docmd/core build aus und lädt die Ausgabe auf GitHub Pages hoch.
Wenn Sie auf GitHub Pages deployen möchten, ohne selbst eine Workflow-Datei zu generieren, verwenden Sie direkt die GitHub Action — sie erledigt alles in einem einzigen kombinierbaren Schritt.
Docker
npx @docmd/core deploy --docker
Generiert ein Dockerfile mit einem Multi-Stage-Build:
- Build-Stage — installiert Ihre exakt gepinnte
@docmd/core-Version und führt den Build aus. - Serve-Stage — kopiert die Ausgabe in ein minimales
nginx:alpine-Image.
Wenn bereits eine nginx.conf im Projektstamm vorhanden ist, kopiert das Dockerfile diese automatisch in den Container.
# Docker und Nginx-Konfiguration gemeinsam generieren
npx @docmd/core deploy --docker --nginx
Möchten Sie docmd in einem Container betreiben, ohne ein eigenes Image zu bauen? Siehe die Docker-Image-Seite für das offizielle vorgefertigte Image.
Nginx
npx @docmd/core deploy --nginx
Generiert nginx.conf mit SPA-Routing, Gzip-Komprimierung und dem korrekten root-Pfad für Ihr Ausgabeverzeichnis. Siehe die NGINX-Seite für die vollständige generierte Konfiguration.
Caddy
npx @docmd/core deploy --caddy
Generiert ein Caddyfile mit automatischem HTTPS, SPA-Routing und Datei-Serving aus Ihrem Ausgabeverzeichnis. Siehe die Caddy-Seite für die vollständige generierte Konfiguration.
Vercel
npx @docmd/core deploy --vercel
Generiert vercel.json mit SPA-Routing-Regeln und Ihrem konfigurierten Ausgabeverzeichnis. Deployment-Schritte finden Sie auf der Vercel-Seite.
Netlify
npx @docmd/core deploy --netlify
Generiert netlify.toml mit Ihrem Build-Befehl, Publish-Verzeichnis und SPA-Redirect-Regeln. Deployment-Schritte finden Sie auf der Netlify-Seite.
Hinweise
Generierte Konfigurationen sind meinungsstarke Ausgangspunkte. Sie sind für die meisten docmd-Deployments korrekt, können aber für fortgeschrittene Szenarien wie benutzerdefinierte Domains, CDN-Rewrites oder Multi-Region-Deployments Anpassungen erfordern. Überprüfen Sie generierte Dateien immer vor dem Deployment in der Produktion.