2009-07-20 16 views
1

Je passe une journée entière à comprendre l'utilisation de Capistrano. Est-ce vraiment un bon outil qui va me faire gagner beaucoup de temps. Je veux en fait l'utiliser pour déployer une de mes nombreuses applications PHP :)Questions sur le déploiement par défaut Tâche dans Capistrano pour le projet PHP et config.php

Si j'ai un config.php avec une variable $ env = "development". Y a-t-il un moyen de faire en sorte que Capistrano change cette variable pour moi en "production" à la place? Ou devrais-je l'oublier et le relier à partagé?

acclamations Guillermo

Répondre

0

Je tiens à garder ces fichiers de configuration séparés - il le rend plus précis et explicite. La façon dont ils sont séparés et déployés est à votre discrétion. J'ai eu des résultats plutôt positifs en ramifiant mon code pour le développement, la mise en scène et le live - mais j'ai aussi vu des situations où une fusion d'une branche externe (c'est à dire trois fois) est un cauchemar complet sur de plus gros projets. Alternativement, vous pourriez avoir config.php, config.php.live, etc - mais cela nécessite une maintenance manuelle.

Vos miles varient évidemment, mes fichiers de configuration ont tendance à avoir plus d'une variable différente entre les déploiements, et en tant que telle, cette architecture supplémentaire est payante.

Si vous voulez toujours le faire avec Capistrano - vous pouvez utiliser sed pour changer cette ligne en utilisant une expression régulière:

sed -i 's/$env=\"development\"/$env=\"production\"/' config.php 

De toute évidence, l'exécution de cette fois que le fichier est déployé.

+0

J'utilise effectivement mes paramètres lien ceci: $ env = "dev" $ conf [ "dev"] [ "db_host"] = "xxxxx" $ conf [ "production"] [ "db_host"] = " yyyyyy " Donc, cette commande sera suffisante. vous réservoir – Guillermo