une première chose qu’il est bon de faire (si tu ne l’as pas déjà
fait) pour sécuriser, c’est de supprimer le vrai database.yml de
subversion, et de le remplacer par un database.yml.sample dans lequel
tu supprime le mot de passe voire le login. Ainsi ta gestion de
configuration ne contient pas d’élément critique (= un développeur ou
autre personne ayant accès à subversion n’aura pas d’information lui
permettant d’accéder à la prod).
Lors du déploiement tu peux copier database.yml.sample en
database.yml, et le modifier de façon à correspondre à ta
configuration de prod (au besoin tu peux automatiser cette étape).
Donc si je comprends bien je supprime le fichier database.yml. Mais si je
fais il ne pourra faire des tests en local ?
sur les postes de développement, tu feras une copie de
database.yml.sample vers database.yml (ainsi chaque développeur peut
paramétrer le nom de sa base, le login et password).
il est souhaitable aussi de marquer ce vrai database.yml avec
svn:ignore pour qu’il ne soit pas ajouté sous subversion par erreur.
Tu peux m’en dire un peu plus sur l’automatisation ?
si tu utilises capistrano, tu peux utiliser une tache
:after_update_code pour réaliser cela:
sur les postes de développement, tu feras une copie de
database.yml.sample vers database.yml (ainsi chaque développeur peut
paramétrer le nom de sa base, le login et password).
J’ai pas bien compris ta phrase. Sur le poste de développement , je
remplace database.yml "sample par le fichier database.yml ou l’inverse
?
Ce que tu me conseilles si j’ai tout suivi
Sur mon serveur de production d’utiliser un ficher database.yml et sur
mon serveur de test d’utiliser un autre fichier database.yml. Ce
dernier ne contenant rien de critique.
il est souhaitable aussi de marquer ce vrai database.yml avec
svn:ignore pour qu’il ne soit pas ajouté sous subversion par erreur.
à chaque fois je vois que tu parles de subversion. Je pensais que tu
parlais du dossier config mais je me trompe.
C’est quoi subversion ? Ce n’est pas la même chose que CVS ?
Sur mon serveur de production d’utiliser un ficher database.yml et sur
mon serveur de test d’utiliser un autre fichier database.yml. Ce
dernier ne contenant rien de critique.
c’est ça!
il est souhaitable aussi de marquer ce vrai database.yml avec
à chaque fois je vois que tu parles de subversion. Je pensais que tu
parlais du dossier config mais je me trompe.
C’est quoi subversion ? Ce n’est pas la même chose que CVS ?
sur tous les postes (développement ou prod), tu copies
database.yml.sample vers database.yml
ok je comprends
et tu le modifies localement.
donc sur mon poste ou sur le poste d’un autre dévelopeur.
Un truc que je comprends pas bien avec subversion. Je crée un
dossier subversion. Je déploi mon application dedans.
Donc sur mon serveur web, il y un seul dossier “subversion”
contenant mon application. Et c’est ce contenu que le public
visualise ?
C’est ca ou je suis completement à coté la plaque ?
Dans svn tu as un repository, cad une bdd gérée par svn qui est
constituée d’un dossier avec des fichiers de bdd, pas tes fichiers.
Pour mettre des fichiers sous contrôle tu dois les importer dans ta
repository (svn add et import). Puis plus tard tu mettras à jour tes
fichiers sous contrôle par des commits (svn commit). Pour accéder à
tes fichiers, il te faut les exporter (svn co).
La procédure pour mettre en place un projet svn :
1 importe tout un dossier : svn import . http://ton-repos-en-ligne-ou-
local
2 tu sors du dossier importé et tu le sauvegarde au cas ou : cd … + mv
3 tu exportes la dernière version de ton repos. (que tu viens
d’importer) : svn co http://ton-repos-en-ligne-ou-local
4 ajouter/supprimer fichier du contrôle : svn add file - svn remove file
5 enregistrer les modifs faites sur tes fichiers : svn commit -m
‘message obligatoire’
Personne ne pourra t’aider davantage ici, faut apprendre en lisant/
testant, c’est pas super amusant au départ mais ça devient très
puissant et pratique avec le temps.
Je me suis peut être mal fait comprendre. Je ne demandais de faire qqch
pour
moi. Mais simplement de comprendre l’interet de subversion dans un
projet
Rails
l’application et se souvient de leur historique. Mais il est plus évolué que
SVN et corrige les lacunes de ce dernier.
Pas toutes et rajoute ses propres problèmes (mais c’est une autre
discussion).
Les gens intéressés par ce genre de discussion peuvent lire mon papier
sur FreeBSD et Mercurial (http://www.keltia.net/freebsd/) mais pas ici
pour ne pas polluer.
Résumé : si le problème est CVS, la réponse n’est pas forcément SVN…
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.