I haven't tried this in action but it appears that you could use a  
lambda function to define host in the config?

set :test_config, lambda{Time.now}
task :foo do
   puts test_config
end

$ cap foo
   * executing `foo'
Fri Jul 31 16:31:25 -0400 2009

$ cap foo
   * executing `foo'
Fri Jul 31 16:31:31 -0400 2009

just replace Time.now with whatever you need to grab the host name,  
presumably some sort of parsing of ec2-describe-instances or something  
similar (like using the right_aws gem)

hth,
tim


On 31-Jul-09, at 1:45 AM, johne wrote:

>
> Having trouble trying to dynamically set host on a task at runtime.
> Basically I want to set the host dynamically when task is run.   I
> tried set with a block, but no luck.
>
> For example, I want this....
>
>  task :mount_ebs, :hosts => host do
>    sudo "mkdir /ebs1"
>    sudo "mount -t xfs /dev/sdh /ebs1"
>  end
>
> where host is dynamically generated at task run time....
>
> any help greatly appreciated
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Capistrano" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.co.uk/group/capistrano?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to