2011-10-03 11 views
4

Nous utilisons phing pour déployer notre application php et nous avons eu un petit problème avec le déploiement de nos environnements.utiliser phing pour déployer différents environnements

Nous avons 2 environnements de production différents (chacun avec des fichiers de configuration différents) et un environnement de test séparé. Nous n'avons pas de problème avec l'environnement de test, car nous avons une branche différente pour l'environnement de test. Le problème est que nous utilisons la même branche pour nos deux environnements de production.

Quelqu'un a des suggestions sur la façon dont nous pouvons déployer dans nos environnements de production avec différents fichiers de configuration/de configuration? Nous préférons garder la branche de production comme une seule branche, mais en quelque sorte séparer les fichiers de configuration. Nous utilisons le framework zend, et je connais les différentes sections que nous pouvons avoir dans les fichiers de configuration, mais nous avons aussi un fichier de paramétrage pour phing. J'ai regardé autour de moi, mais je n'arrive pas à trouver un moyen de passer les arguments de la ligne de commande à phing. Quelque chose comme cela pourrait être vraiment utile:

phing -f build.xml production_live1 

Répondre

11

Vous pouvez utiliser -D pour définir les propriétés personnalisées

phing -Denvironment=production_live1 

Vous pouvez y accéder au sein de votre fichier de construction comme tous les autres biens

${environment} 

Une autre solution serait, que vous créez différents fichiers de construction pour chaque environnement, qui à la fois comprend le fichier de construction "principal" build.xml et contient seulement Les différences

phing -f production_live1.xml 

(et production_live1.xml

<project name="production_live1" basedir="." default="all"> 
    <import file="main.xml" /> 
    <!-- different tasks here --> 
</project> 
+0

wow, c'est exactement ce que je cherche. Merci! – aporat

Questions connexes