Gestion de la mise en production

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous,

J'aimerai savoir comment vous gérez la mise en production. Où est-ce que vous stockez la configuration (mot de passe pour la base de données de prod…).

Merci :)

+0 -0
Staff

Salut,

on utilise un fichier de settings spécial pour la prod (settings_prod.py) qui vient surcharger les paramètres par défaut.

Ce fichier n'est ni public ni versionné.

Notons que nous utilisons django. Sur les autres technos, tu as toujours un équivalent (web.config.test.xml/web.config.prod.xml en ASP.NET, un config.yaml particulier avec Symfony…).

Il faut que tu nous en dises plus sur ton projet.

+0 -0
Auteur du sujet

Merci.

J'ai compris le principe de surcharge des paramètres, ma question était surtout de savoir où stocké ce fichier (Evidemment, pas sur le gestionnaire de version), comment gérer les configurations lors de la mise en prod…

Je travail sur un projet Symfony 2.

Édité par Freeza

+0 -0

Coucou,

Je travail sur un projet Symfony 2.

En environnement de production, Symfony va prendre les configurations contenues dans le fichier config_prod.yml (dans app/config). Fichier qui importe et surcharge config.yml.

Par exemple, si tu utilises doctrine, tu devras configurer ta base de donnée en rajoutant cela :

1
2
3
4
5
6
7
8
doctrine:
    dbal:
        driver:   ...
        host:     ...
        port:     ...
        dbname:   ...
        user:     ...
        password: ...

Il n'est pas recommandé de mettre les donnés directement dans le fichier de configuration.

Je n'ai pas essayé mais sinon tu peux essayer de simplement créer et importer un fichier parameters_prod.yml dans config_prod.yml. Ce fichier contiendra les configurations pour la prod et surchargera normalement parameters.yml.

Édité par yata

+0 -0

Dans le cadre de Symfony, la bonne pratique c'est de versionner un fichier parameters.yml.dist (dans le dossier app/config).

À chaque fois qu'on exécute la commande composer install (qu'il faut faire à chaque déploiement pour être sûr qu'on a bien toutes les potentielles nouvelles dépendances), il nous sera demandé de spécifier les paramètres du parameters.yml.dist et cela génèrera un parameter.yml tout frais :-) (qui n'est pas versionné pour des raisons de sécurité).

Pour ce qui est de l'outil de déploiement, souvent avec symfony on utilise capifony, mais capistrano3 fait le job aussi… Et pour les grosses applications il y a des choses plus complètes mais je te laisse faire ta recherche et tes tests.

PS: en aucun cas il n'est question de fichier de type parameters_prod.yml. Le fichier parameters.yml ne doit être différent sur chaque ordinateur pour s'adapter à la configuration locale et doit rester privé pour des raisons de sécurité.

Édité par Nek

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte