Hello. I think Jeff is right on the money with his reply, and I really just wanted to comment on this:
On Thu, Nov 6, 2008 at 5:40 PM, Jeff Forcier <[EMAIL PROTECTED]> wrote: > The main thing Fabric is missing that you seem to rely on is your > "environments" and "tags", which sound similar to an item on our todo > list, namely implementing a way to group servers together (something > Capistrano refers to as 'roles'). We also do not have a baked-in > concept of environments, but it's easy enough right now to implement > them (I believe the current docs explore this somewhat, IIRC). I wrote a sample at some point to explore this a little, and this discussion had me take a look at it again. Turns out it was horribly broken... but, but but! I think I discovered a neat and low-impact way of fixing it up and make it work. Not sure if its too hacky, though. I'll post a patch in a minute and see if people have opinions. > > Regards, > Jeff > > On Wed, Nov 5, 2008 at 12:33 PM, Nicolas Steinmetz <[EMAIL PROTECTED]> wrote: >> Hello, >> >> I'm currently testing Fab in order to evaluate it to see if it can replace a >> home made perl script that my firm use for deployment but that I cannot >> maintain or improve due to my lack of perl skills. >> >> It has following features >> - Handle environnement server (one file per environnement) >> - For a given environnement, I can set "tags", like "front" for front server >> and "db" for db servers. For each tag, I can set one or more servers. >> >> Example for my ezpupdate/etc/prod file : >> tags: front db >> front: www1 www2 www3 >> db: sql1 >> >> In a given archive for a deployment, I have the following structure : >> >> files/ >> files/front >> files/db >> changes/ >> changes/front >> changes/db >> commands.upd >> >> -> files is used for files to be sent. Then "front" and "db" are the tags >> that match the tags defined above. >> >> For ex, if I want to update a new httpd.conf, my.cnf, and index.php files, I >> will have : >> files/front/etc/httpd/httpd.conf >> files/front/var/www/project/index.php >> files/db/etc/my.cnf >> >> -> changes are to be considered as a kind of patch. Accoding to some >> pattern, I'm able to add/change/modifiy/withdraw a line in a given file. >> Just think it as sed . Same principe for front/tag tags. >> >> -> commands.upd is a file which gather some commandes to run, once files and >> changes have been applied. It can run local and remote commands and it can >> even run a commande once for a given tag. >> >> For ex, if I want to update the crontab of the first server in the list and >> not all of them : >> remote front once cd /var/www/projet && update_crontab.sh >> >> Process of deployment is the following one : >> I run : myscript -target=<envt> -source=<archive> >> >> then it does the following : >> - create a log file >> - unpack archive in /tmp on my local computer (from which I deploy the >> package on my remote servers) >> - send files on relevant servers according to tag >> - apply changes with some ssh $srv "sed like command" >> - execute remote / local commandes in commands.upd >> - end log file >> >> In parallel, I started trying to implement fab on my own but I'd like to >> have your feedback on my current tool vs fab (0.0.9). My first thought is >> that Fab is based on the opposite principe (or maybe I'm wrong due the >> examples I saw), that is to say to send archives on the remote server and >> then to execute remote scripts. Whereas in my case, I'm more on the >> principle : I handle locally files, send them to remote computers and >> execute script from deployment server (not sure I'm clear). >> >> Thanks for reading me, I hope I'm clear enough and looking forward reading >> your feedback on this. >> >> Nicolas >> >> _______________________________________________ >> Fab-user mailing list >> [email protected] >> http://lists.nongnu.org/mailman/listinfo/fab-user >> >> > > > _______________________________________________ > Fab-user mailing list > [email protected] > http://lists.nongnu.org/mailman/listinfo/fab-user > -- Venlig hilsen / Kind regards, Christian Vest Hansen. _______________________________________________ Fab-user mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/fab-user
