Comment déployer des applications

Un projet Salvo, après compilation, devient un fichier exécutable. Pour le déploiement, il suffit de transférer cet exécutable ainsi que les ressources statiques associées sur le serveur.

Pour les projets basés sur Rust, il existe également une plateforme de déploiement très simple : shuttle.rs. Shuttle prend en charge les projets de type Salvo. Pour plus de détails, veuillez consulter la documentation officielle.

Déploiement avec Docker

Vous pouvez également utiliser Docker pour déployer des applications Salvo. Voici un exemple de base de Dockerfile, que vous pouvez ajuster selon les besoins de votre projet :

# Étape de construction
FROM rust:slim AS build
WORKDIR /app

# Copier d'abord les fichiers de dépendances pour construire les dépendances (en tirant parti des couches de cache)
COPY Cargo.toml Cargo.lock ./
RUN mkdir src && \
    echo 'fn main() { println!("Placeholder"); }' > src/main.rs && \
    cargo build --release

# Copier le code source réel et construire l'application
COPY src ./src/
RUN touch src/main.rs && \
    cargo build --release

# Utiliser une image de base légère pour l'étape d'exécution
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/*

# Créer un utilisateur non-root pour exécuter l'application
RUN useradd -ms /bin/bash appuser
USER appuser
WORKDIR /app

# Copier le fichier binaire depuis l'étape de construction
COPY --from=build /app/target/release/your_app_name ./app

# Définir la commande de démarrage du conteneur
CMD ["./app"]

Instructions d'utilisation

  1. Enregistrez le Dockerfile ci-dessus dans le répertoire racine de votre projet.
  2. Ajustez your_app_name au nom réel du fichier binaire selon votre projet.
  3. Si votre application nécessite des fichiers statiques (tels que des modèles, CSS, JS, etc.), vous pouvez ajouter des commandes COPY correspondantes.
  4. Si votre application nécessite une configuration par variables d'environnement, vous pouvez utiliser l'instruction ENV.
  5. Construisez l'image Docker :
    docker build -t your-app-name .
  6. Exécutez le conteneur :
    docker run -p 8698:8698 your-app-name

Veuillez ajuster le numéro de port et d'autres configurations selon les besoins réels de votre application.