Der Befehl deploy liest Ihre docmd.config.json und erzeugt Deployment-Konfigurationsdateien, die exakt auf Ihr Projekt zugeschnitten sind — Ausgabeverzeichnis, Site-URL, SPA-Routing und Node.js-Version werden automatisch berücksichtigt. Keine generischen Vorlagen.
Unterstützte Anbieter
| Anbieter | Flag | Erzeugte 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
Führen Sie den Befehl aus Ihrem Projektstamm aus (dort, wo docmd.config.json liegt):
# Einzelner Anbieter
npx @docmd/core deploy --github-pages
# Mehrere Anbieter 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 die Zero-Config-Standards) und fügt Folgendes ein:
| Konfigurationsfeld | Verwendung |
|---|---|
title |
Kommentar-Header in jeder erzeugten Datei |
out |
COPY-Pfade im Dockerfile, root-Direktiven in Nginx/Caddy |
url |
server_name in Nginx, Site-Adresse in Caddy |
layout.spa |
Steuert, ob die SPA-Routing-Fallback-Regel eingefügt wird |
| Konfigurationspfad | Der Build-Schritt im Dockerfile verwendet --config, wenn vom Standard abgewichen wird |
Keine docmd.config.json? Kein Problem. Der Befehl verwendet dieselben Zero-Config-Standards wie npx @docmd/core dev und npx @docmd/core build.
Immer synchron
Jeder Lauf erzeugt Ihre Deployment-Dateien neu, damit sie zu Ihrer aktuellen Konfiguration passen. Haben Sie Ihre Site-URL oder Ihr Ausgabeverzeichnis geändert? Führen Sie einfach den Deploy-Befehl erneut aus. Verwenden Sie --force, um vorhandene Dateien ohne Rückfrage zu überschreiben.
Anbieterdetails
GitHub Pages
npx @docmd/core deploy --github-pages
Erzeugt .github/workflows/deploy.yml mit einer vollständigen Build-and-Deploy-Pipeline. Der Workflow checkt Ihr Repository aus, installiert Node.js, führt npx @docmd/core build aus und lädt die Ausgabe in GitHub Pages hoch.
Wenn Sie ohne eigene Workflow-Datei auf GitHub Pages bereitstellen möchten, nutzen Sie direkt die GitHub Action — sie übernimmt alles in einem komponierbaren Schritt.
Docker
npx @docmd/core deploy --docker
Erzeugt ein Dockerfile mit Multi-Stage-Build:
- Build-Stage — installiert Ihre exakt festgelegte
@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 existiert, kopiert das Dockerfile sie automatisch in den Container.
# Docker- und Nginx-Konfigurationen gemeinsam erzeugen
npx @docmd/core deploy --docker --nginx
Möchten Sie docmd in einem Container ausführen, ohne ein eigenes Image zu bauen? Auf der Seite Docker-Image finden Sie das offizielle, vorgefertigte Image.
Nginx
npx @docmd/core deploy --nginx
Erzeugt eine nginx.conf mit SPA-Routing, Gzip-Komprimierung und dem korrekten root-Pfad für Ihr Ausgabeverzeichnis. Die vollständige erzeugte Konfiguration finden Sie auf der Seite NGINX.
Caddy
npx @docmd/core deploy --caddy
Erzeugt eine Caddyfile mit automatisch aktiviertem HTTPS, SPA-Routing und Datei-Auslieferung aus Ihrem Ausgabeverzeichnis. Die vollständige erzeugte Konfiguration finden Sie auf der Seite Caddy.
Vercel
npx @docmd/core deploy --vercel
Erzeugt vercel.json mit SPA-Routing-Regeln und Ihrem konfigurierten Ausgabeverzeichnis. Deployment-Schritte finden Sie auf der Seite Vercel.
Netlify
npx @docmd/core deploy --netlify
Erzeugt netlify.toml mit Ihrem Build-Befehl, dem Veröffentlichungsverzeichnis und den SPA-Redirect-Regeln. Deployment-Schritte finden Sie auf der Seite Netlify.
Abwägungen
Die erzeugten Konfigurationen sind meinungsstarke Ausgangspunkte. Sie sind für die meisten docmd-Deployments korrekt, können jedoch für fortgeschrittene Szenarien wie eigene Domains, CDN-Rewrites oder Multi-Region-Deployments Anpassungen erfordern. Überprüfen Sie erzeugte Dateien stets, bevor Sie sie in der Produktion einsetzen.