Übersicht
docmd wird mit einem dedizierten @docmd/deployer-Paket ausgeliefert. Es liest Ihre docmd.config.json und generiert automatisch anbieterspezifische Bereitstellungsdateien. Jede generierte Datei ist auf Ihre genaue Konfiguration zugeschnitten – Ihr Ausgabeverzeichnis, Ihre Website-URL, SPA-Routing-Regeln und Ihre Node.js-Version werden alle ohne manuelle Bearbeitung berücksichtigt.
Unterstützte Anbieter
| Anbieter | Befehls-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
Führen Sie den Befehl im Projekt-Root aus (dort, wo sich Ihre docmd.config.json befindet):
# 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
Details zu den Anbietern
GitHub Pages
npx @docmd/core deploy --github-pages
Generiert .github/workflows/deploy.yml mit einer vollständigen Build-and-Deploy-Pipeline. Der Workflow:
- Checkt Ihr Repository aus
- Installiert Node.js (passend zu der von Ihrem Projekt benötigten Version)
- Führt
npx @docmd/core buildaus - Lädt das Ausgabeverzeichnis auf GitHub Pages hoch
Vercel
npx @docmd/core deploy --vercel
Generiert vercel.json mit SPA-Routing-Regeln (leitet alle Pfade auf index.html um) und Ihrem konfigurierten Ausgabeverzeichnis.
Netlify
npx @docmd/core deploy --netlify
Generiert netlify.toml mit Ihrem Build-Befehl, dem Veröffentlichungsverzeichnis und SPA-Redirect-Regeln.
Docker
npx @docmd/core deploy --docker
Generiert ein Dockerfile unter Verwendung eines mehrstufigen Builds (Multi-stage Build):
- Build-Stufe: Installiert Ihre exakte, festgeschriebene
@docmd/core-Version und führt den Build aus. - Serve-Stufe: Kopiert die Ausgabe in ein minimales
nginx:alpine-Image.
Wenn in Ihrem Projekt-Root bereits eine nginx.conf existiert, kopiert das Dockerfile diese automatisch in den Container.
# Docker- und Nginx-Konfigurationen zusammen generieren
npx @docmd/core deploy --docker --nginx
Nginx
npx @docmd/core deploy --nginx
Generiert eine nginx.conf mit SPA-Routing, gzip-Komprimierung und dem korrekten root-Pfad für Ihr Ausgabeverzeichnis.
Caddy
npx @docmd/core deploy --caddy
Generiert ein Caddyfile mit automatischem HTTPS, SPA-Routing und Dateibereitstellung aus Ihrem Ausgabeverzeichnis.
Erneutes Generieren
Haben Sie Ihre Konfiguration geändert? Führen Sie denselben Deploy-Befehl erneut aus. Verwenden Sie --force, um vorhandene Dateien zu überschreiben:
npx @docmd/core deploy --docker --force
Abwägungen
Generierte Konfigurationen sind bewährte Startpunkte. Sie sind für die Mehrheit der docmd-Bereitstellungen korrekt, erfordern jedoch möglicherweise Anpassungen für fortgeschrittene Szenarien wie benutzerdefinierte Domains, CDN-Rewrites oder mandantenfähige Bereitstellungen. Überprüfen Sie generierte Dateien immer, bevor Sie sie in der Produktion bereitstellen.