fab-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fab-user] Re: simple question


From: Jeff Forcier
Subject: Re: [Fab-user] Re: simple question
Date: Mon, 29 Sep 2008 08:18:53 -0400

Hi Byron,

The current version of Fabric can't run things one host at a time, but
I have a fork that is capable of doing this; it adds an option letting
you toggle between the current "broad" behavior of each command run on
every host, and a "deep" behavior (which is what you're asking for)
where each task is run all the way through on each host in turn.

This allows for more complex logic such as "if run('ls /some/file'):
foo ; else: bar". The fork is on GitHub:
http://github.com/bitprophet/fabric/tree/execution

I'm optimistic that these changes will make it into mainline Fabric in
the nearish future, but for now you'll need Git to checkout my version
of the code.

Regards,
Jeff

On Mon, Sep 29, 2008 at 12:44 AM, Byron Saltysiak <address@hidden> wrote:
> Well I see that this example is silly since the hostname is included next to
> the output from all commands. But I guess my general question still stands.
>
> On Mon, Sep 29, 2008 at 12:41 AM, Byron Saltysiak <address@hidden>
> wrote:
>>
>> I didn't see anything in the brief user-guide on the site or the archives
>> but it seems so simple.
>>
>> If I'm in a multiple host environment, is there an easy way to make all
>> the commands execute on one host before starting another? I can think of a
>> small change to the example on the wiki so that I could see which server was
>> having problems, or just which server I was currently on if I had a whole
>> bunch of servers:
>>
>> def deploy():
>>     'Deploy the app to the target environment'
>>     local("make dist")
>>
>>
>>     put("bin/bundle.zip", "bundle.zip")
>>     run("hostname")
>>
>>     sudo("./install.sh bundle.zip")
>>
>> But as it seems to happen, the put is run on all hosts, then the run, and
>> then the sudo.
>>
>> Is the way to get around this to just put a shell script out and run that?
>> Or perhaps this really isn't that necessary of a task in other people's
>> experience?
>>
>> --
>> Byron
>
>
>
> --
> Byron
>
> _______________________________________________
> Fab-user mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/fab-user
>
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]