Project

tdd_deploy

0.0
No commit activity in last 3 years
No release in over 3 years
Test driven support for host provisioning & Capistrano deployment - for those who don't want to bother learning too much
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

 Project Readme

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