Prev | Current Page 477 | Next

Brad Ediger

"Advanced Rails"

The framework gives you enough power to do most things you
would want to do, but tries to make the simple situations simple.
The Capistrano 2.0 source code is an excellent example of well-structured Ruby
code. It is hosted in the Rails Subversion repository (http://svn.rubyonrails.org/rails/
tools/capistrano/).
Vlad the Deployer
Of course, as Capistrano grows larger and becomes more general, some people just
want a simple deployment tool. The Ruby Hit Squad released Vlad the Deployer
(http://rubyhitsquad.com/Vlad_the_Deployer.html) as a reaction against Capistrano??™s
complexity. It does one thing: application deployment. It uses native programs (ssh
and rsync), as opposed to Capistrano, which depends on the Net::SSH library.
Because Vlad is focused on deployment only, the configuration file can be simpler. It
defaults to one server; Capistrano assumes a large setup??”the default deployment
tasks assume separate web, app, and db roles. Either solution works well; generally,
Vlad is easier to get started with, and Capistrano will be more flexible for large
projects or those with unusual requirements.
Continuous Integration
Another powerful tool for software development, especially in large teams, is
continuous integration. As a principle, continuous integration comes from the
Extreme Programming discipline. It usually involves a build/test process that happens
either just before or just after each version control commit.


Pages:
465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489