Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

TddDeploy - 0.1.12

This is a prototype. It works, but isn't pretty and polished.

NOTE: Detailed use and Installation instructions are in lib/tdd_deploy/doc/ There are also two more documents which are my personal notes on setting up hosts and sites. YMMV.

TddDeploy supports deployment configuration management and black box testing of deployment hosts.

It is designed to complement Capistrano

It does this by:

  • defining and managing an opinionated set of data which specify hosts and user accounts
  • automate testing of remote hosts via running commands - locally and remotely via ssh
  • provides a rack compatible local web server to run the tests
  • as a bonus, it also creates host & site specific configuration files from erb template.

It is designed to complement Capistrano - hence the opinionated:

  Capistrano makes a few assumptions about your servers. In order to use Capistrano, you will need to comply
  with these assumptions:

  * You are using SSH to access your remote machines. Telnet and FTP are not supported.
  * Your remote servers have a POSIX-compatible shell installed. The shell must be called “sh” and must
    reside in the default system path.
  * If you are using passwords to access your servers, they must all have the same password. Because this
    is not generally a good idea, the preferred way of accessing your servers is with a public key. Make
    sure you’ve got a good passphrase on your key.

While, Capistrano focuses on deploying the Rails application, TddDeploy focuses on validating the configuration of both the deployment host(s) and a Rails application.

Branch Information

master is more-or-less stable. The more-or-less is that this project is still in flux. It matches the current version which is on and is up to date with the latest tagged version of the 0-1 branch.

0-1 is current development. I'm trying to remember to tag the version with 'pre', but there are no guarantees.

0-0 is dead ended.

Notes on Unit Tests

These tests run on my system with a virtual host running Arch Linux with host name 'arch' and a bunch of accounts. The tests won't work without a conforming setup.

Known Bugs

  • running only failed tests sometimes miscounts and reports tests as duplicated. Running all tests fixes this (eventually)
  • server spits out lots of useless error messages. This will probably be fixed when we convert to using Sinatra


Prototype Test Driven Deployment for host provisioning & site deployment






No releases published


No packages published