Well, I didn’t get nearly as far on SwitchTower over the weekend as I would have liked, but here’s what’s currently residing in the repository:
- Custom SSH connection options (so you can specify the port, and other things)
- The Rails rake tasks for SwitchTower now load ST directly, instead of invoking it via
system. This should clear up issues with using the rake tasks on Windows.
- You can set the
"export", to use export instead of checkout when deploying. (Only supported by the subversion module, currently.)
I’m still planning on implementing the following features (which should all be available by the next release of SwitchTower):
- Verbosity settings in deploy.rb
- Deploy via copy instead of checkout/export
- Handle the SSH auth error that occurs when you don’t have the remote hosts in your .ssh/known_hosts yet
- Add a setting for run vs. sudo in the
- Clean up old deployment directories
Lastly, I’m still considering what to do about the following requests. These may or may not find their way into the next release of ST. Some of them may never see the light of day in an official ST release.
- Optionally leave the failed deployment on the server if it fails (instead of deleting it, as currently happens.)
- Subclassing roles, so you can (for instance) have a specialized “app” role.
- Built-in support for staging servers
- Notification emails
- Allow different user/pass for SVN access than for SSH access
- Per-server deployment credentials/settings
I may try to come up with a plugin architecture (minimalistic, like Rails’ plugins) so that some of these can be addressed by third-parties in a modular fashion, but we’ll see how it all falls out.
Thanks for the suggestions, everyone!