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: Christian Vest Hansen
Subject: Re: [Fab-user] Re: simple question
Date: Mon, 29 Sep 2008 14:37:16 +0200

Hi, Byron.

The current official versions of Fabric is oppinionated in this regard
and assumes that you don't need that kind of funktionality.

The shell script or Jeff's fork are the only workarounds I know of.

On Mon, Sep 29, 2008 at 2:18 PM, Jeff Forcier <address@hidden> wrote:
> 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
>>
>>
>
>
> _______________________________________________
> Fab-user mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/fab-user
>



-- 
Venlig hilsen / Kind regards,
Christian Vest Hansen.




reply via email to

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