Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Prototype Test Driven Deployment for host provisioning & site deployment

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 config
Octocat-spinner-32 lib
Octocat-spinner-32 tests
Octocat-spinner-32 .autotest
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Capfile
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 Rakefile
Octocat-spinner-32 Readme.md
Octocat-spinner-32 TODO
Octocat-spinner-32 config.ru
Octocat-spinner-32 tdd_deploy.gemspec
Readme.md

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/Overview.md. 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 rubygems.org 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
Something went wrong with that request. Please try again.