Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > [ANN] rubyhitsquad's vlad 1.0.0 Released

Reply
Thread Tools

[ANN] rubyhitsquad's vlad 1.0.0 Released

 
 
Ryan Davis
Guest
Posts: n/a
 
      08-14-2007
vlad version 1.0.0 has been released!

* <http://rubyhitsquad.com/>
* <http://rubyforge.org/projects/hitsquad/>

Vlad the Deployer is pragmatic application deployment automation,
without mercy. Much like Capistrano, but with 1/10th the
complexity. Vlad integrates seamlessly with Rake, and uses familiar
and standard tools like ssh and rsync.

Impale your application on the heartless spike of the Deployer.

## FEATURES/PROBLEMS:

* Full deployment automation stack.
* Supports single server deployment with just 4 variables defined.
* Very few dependencies. All simple.
* Uses ssh with your ssh settings already in place.
* Uses rsync for efficient transfers.
* Run remote commands on one or more servers.
* Syncs files to one or more servers.
* Mix and match local and remote tasks.
* Built on rake. easy.
* Compatible with all of your tab completion shell script rake-tastic
goodness.
* Ships with tests that actually pass.
* Engine is under 500 lines of code.
* Super uper simple.
* Does NOT support Windows right now. Coming soon in 1.1.
* This is 1.0.0... expect rough edges.

Changes:

## 1.0.0 / 2007-08-04

* 1 major enhancement
* Birthday!

* <http://rubyhitsquad.com/>
* <http://rubyforge.org/projects/hitsquad/>


 
Reply With Quote
 
 
 
 
Bil Kleb
Guest
Posts: n/a
 
      08-14-2007
Ryan Davis wrote:
> vlad version 1.0.0 has been released!
>
> * <http://rubyhitsquad.com/>


LOL.

Reminds me of Victor the Cleaner from the original
La Femme Nikita[1].

From the Agile'07 conference,
--
Bil Kleb
http://fun3d.larc.nasa.gov

[1] http://www.imdb.com/title/tt0100263/
 
Reply With Quote
 
 
 
 
Phlip
Guest
Posts: n/a
 
      08-14-2007
Bil Kleb wrote:

> Reminds me of Victor the Cleaner from the original
> La Femme Nikita[1].


That explains the line from the Beastie Boys that rhymes that with
"illin'est motherf---er from here to Gardina"!

Gardina is the next city over from Compton, which is renowned for
internecine crime.

--
Phlip
http://www.oreilly.com/catalog/9780596510657/
"Test Driven Ajax (on Rails)"
assert_xpath, assert_javascript, & assert_ajax


 
Reply With Quote
 
Sharon Rosner
Guest
Posts: n/a
 
      08-14-2007

On Aug 14, 3:04 am, Ryan Davis <(E-Mail Removed)> wrote:
> vlad version 1.0.0 has been released!
>


Congrats! looks really nice.

sharon


 
Reply With Quote
 
Joel VanderWerf
Guest
Posts: n/a
 
      08-15-2007
Ryan Davis wrote:
> * Uses ssh with your ssh settings already in place.
> * Uses rsync for efficient transfers.


Since you're using the external ssh program, you might consider using
the -S option in ssh. It lets you pay the setup cost (authentication,
tcp connect) once per host, rather than once per ssh or rsync
invocation. Makes a big difference with slow networks or many invocations.

In rakefiles, it lets you do the following:

m = SSHMaster.for "some.host.net"
m.rsync [file1, file2], some_dir_on_that_host
m.rsync local_dir, remote_dir, "-az" # or other rsync options
m.ssh some_cmd

Here's the implementation (needs hacking, I'm sure):

class SSHMaster
def initialize sock, host
@sock, @host = sock, host
end

def ssh cmd, &block
sh "ssh", "-S", @sock, @host, cmd, &block
end

DEFAULT_RSYNC_OPTS = ["-Cavz", "--exclude='*.bck'", "--progress"]

# dst may be "host:foo/bar" or just "foo/bar"
def rsync src, dst, opts=DEFAULT_RSYNC_OPTS, *optsrest, &block
src = [src] unless src.is_a?(Array)
src = FileList[*src]
opts = [opts] unless opts.is_a?(Array)
host_dst = (dst =~ /\A#{@host}:/) ? dst : "#{@host}:#{dst}"
sh "rsync", "--rsh=ssh -S #{@sock}",
*((opts + optsrest + src + [host_dst]).flatten), &block
end

SOCKET_NAME = "ssh_master_for_%r@%h:%p"

@master = {}

def self.for host
master = @master[host]
unless master
sock = File.join(ENV["TMPDIR"], SOCKET_NAME)
cmd = "ssh -M -S #{sock} #{host} 'echo hello; read'"
master_pipe = IO.popen(cmd, "r+")
master_pipe.gets
at_exit do
master_pipe.close if master_pipe and not master_pipe.closed?
end

master = @master[host] = new(sock, host)
end
master

rescue StandardError => ex
$stderr.puts "Failed to ssh to #{host}: #{ex.message}"
false
end
end

--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

 
Reply With Quote
 
Wilson Bilkovich
Guest
Posts: n/a
 
      08-16-2007
On 8/15/07, Joel VanderWerf <(E-Mail Removed)> wrote:
> Ryan Davis wrote:
> > * Uses ssh with your ssh settings already in place.
> > * Uses rsync for efficient transfers.

>
> Since you're using the external ssh program, you might consider using
> the -S option in ssh. It lets you pay the setup cost (authentication,
> tcp connect) once per host, rather than once per ssh or rsync
> invocation. Makes a big difference with slow networks or many invocations.
>


We considered this, but there's a bug in the current version of svn
that breaks when you use ControlMaster. We're going to document how
to enable it in your ssh config file without breaking anything,
however. You just can't use it on hosts you intend to 'svn+ssh' into.

--Wilson.

 
Reply With Quote
 
Eric Hodel
Guest
Posts: n/a
 
      08-16-2007
On Aug 15, 2007, at 14:29, Joel VanderWerf wrote:
> Ryan Davis wrote:
>> * Uses ssh with your ssh settings already in place.
>> * Uses rsync for efficient transfers.

>
> Since you're using the external ssh program, you might consider
> using the -S option in ssh. It lets you pay the setup cost
> (authentication, tcp connect) once per host, rather than once per
> ssh or rsync invocation. Makes a big difference with slow networks
> or many invocations.


We're letting people set this per-host with their ~/.ssh/ssh_config.

Unfortunately some programs (subversion) don't work reliably with the
ControlMaster setting enabled.

--
Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[ANN] vlad-git 2.1.0 Released John Barnette Ruby 0 10-14-2009 05:07 PM
[ANN] vlad-git 2.0.0 Released John Barnette Ruby 0 08-19-2009 10:48 PM
[ANN] vlad 1.3.2 Released (rawr!) Ryan Davis Ruby 0 03-16-2009 10:00 PM
[ANN] vlad 1.2.0 Released Ryan Davis Ruby 0 01-15-2008 07:07 AM
[ANN] Vlad the Deployer 1.1.0 Released Ryan Davis Ruby 0 09-12-2007 08:12 AM



Advertisments