Déploiement IONOS Deploy Now sur un projet Symfony — Guide complet

Introduction

Déployer un projet Symfony sur IONOS Deploy Now permet d’automatiser le build et le déploiement depuis GitHub.
Lien produit IONOS Deploy Now : https://www.ionos.com/hosting/deploy-now
Documentation officielle : https://docs.ionos.space/


Pourquoi utiliser Deploy Now pour Symfony

  • Intégration GitHub / GitHub Actions pour build + deploy automatique.
  • Détection automatique des projets PHP / Symfony.
  • Base de données MariaDB fournie pour les projets PHP.
  • SSL automatique et URL de prévisualisation pour chaque branche.

Starter Symfony officiel : https://github.com/ionos-deploy-now/symfony-starter


Pré-requis

  • Symfony compatible PHP 8+
  • composer pour gérer les dépendances
  • Dépôt GitHub du projet Symfony

Pour les hébergements classiques IONOS, installer Composer : https://www.ionos.com/digitalguide/websites/web-development/using-php-composer-in-ionos-webhosting-packages/


Étapes de déploiement

1. Préparer le dépôt

  • Vérifier que composer.json est à jour.
  • Configurer les assets (Webpack Encore, Vite, etc.).
  • Ajouter un fichier de workflow .github/workflows/deploy.yml si besoin.

2. Connecter le dépôt à Deploy Now

  • Lier votre compte GitHub et sélectionner le dépôt.
  • Deploy Now détecte Symfony et propose un workflow préconfiguré.

3. Configurer les variables d’environnement

Définir les variables via le tableau de bord Deploy Now :

APP_ENV=prod
APP_SECRET=XXXXXXXXXXXXXXXX
DATABASE_URL=mysql://user:pass@host/db_name

4. Migrations et cache

Exécuter après chaque déploiement :

php bin/console doctrine:migrations:migrate --no-interaction --env=prod
php bin/console cache:clear --env=prod

5. Compilation des assets

yarn encore production

ou équivalent selon votre stack (npm run build / pnpm build).

6. Vérification et tests

  • Tester en staging (preview URL fournie par Deploy Now).
  • Vérifier logs et erreurs.

Points techniques importants

  • Bases de données : instance MariaDB par déploiement (Documentation)
  • Accès SSH : pas disponible dans Deploy Now, les commandes doivent être dans le pipeline.
  • Composer : gestion automatique dans le pipeline GitHub Actions.

Bonnes pratiques

  • Automatiser migrations + clear cache post-deploy.
  • Compiler les assets dans le pipeline pour éviter d’exposer node_modules.
  • Mise en place de tâches planifiés avec les cron-jobs
  • Activer monitoring avec Sentry ou équivalent.
  • Vérifier quotas de mémoire et temps d’exécution du pipeline.

Liens utiles