Anwendungsbereitstellung
Ein kompiliertes Salvo-Projekt ist eine ausführbare Datei. Für die Bereitstellung müssen Sie lediglich diese ausführbare Datei zusammen mit den benötigten statischen Ressourcen auf den Server hochladen.
Für Rust-Projekte gibt es auch eine sehr einfache Bereitstellungsplattform: shuttle.rs. Shuttle bietet Unterstützung für Salvo-Projekte. Weitere Details finden Sie in der offiziellen Dokumentation.
Docker-Bereitstellung
Sie können Salvo-Anwendungen auch mit Docker bereitstellen. Hier ist ein grundlegendes Beispiel für eine Dockerfile
, die Sie entsprechend Ihren Projektanforderungen anpassen können:
# Build-Phase
FROM rust:slim AS build
WORKDIR /app
# Abhängigkeiten zuerst kopieren (Nutzen der Cache-Schichten)
COPY Cargo.toml Cargo.lock ./
RUN mkdir src && \
echo 'fn main() { println!("Placeholder"); }' > src/main.rs && \
cargo build --release
# Eigentlichen Quellcode kopieren und Anwendung bauen
COPY src ./src/
RUN touch src/main.rs && \
cargo build --release
# Runtime-Phase mit schlanker Basis-Image
FROM debian:bookworm-slim
RUN apt-get update && \
apt-get install -y --no-install-recommends ca-certificates && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Nicht-Root-Benutzer für Anwendungsbetrieb erstellen
RUN useradd -ms /bin/bash appuser
USER appuser
WORKDIR /app
# Binärdatei aus Build-Phase kopieren
COPY --from=build /app/target/release/your_app_name ./app
# Container-Startbefehl festlegen
CMD ["./app"]
Anleitung
- Speichern Sie die obige
Dockerfile
im Stammverzeichnis Ihres Projekts
- Passen Sie
your_app_name
an den tatsächlichen Namen Ihrer Binärdatei an
- Falls Ihre Anwendung statische Dateien benötigt (z.B. Templates, CSS, JS), fügen Sie entsprechende
COPY
-Befehle hinzu
- Bei Bedarf an Umgebungsvariablen können Sie
ENV
-Anweisungen verwenden
- Docker-Image erstellen:
docker build -t your-app-name .
- Container ausführen:
docker run -p 5800:5800 your-app-name
Passen Sie Portnummern und andere Konfigurationen entsprechend den Anforderungen Ihrer Anwendung an.