Billy the tool
Intro
Billy is very simple deploy application built on top of capistrano. This tool may be useful for designers and html programmers to simplify roll out process on staging server.
Install
Billy distributes as ruby gem, requires ruby 1.8.7+ and superuser privileges in case of global system installation (not rvm).
Open your terminal ( on MacOS: ⌘ + Space, then type terminal
in search bar ). When terminal window is opened:
sudo gem install billy_the_tool --no-rdoc
If everything is ok this command will ask you to provide superuser password and then install billy on your system.
Setup
- billy hello
- billy eat url_to_billy_config_or_local_file
billy hello
will check all the system requirements and will give some helpful info. Billy will great you if all the requirements are satisfied And prompt to install otherwise.
billy eat {url_to_billy_config_or_local_file}
will parse config file with specified path and save it to current folder. url_to_billy_config_or_local_file
could be local file path or remote file url. During deploy process billy will check both current and home folders while looking for config file. Billy stores it's settings in file named .billyrc
.
Sample config file
deploy_to: /var/www/
user: user
server: staging.server.com
Get current config
billy my config
This command will return config settings from current folder if there wis .billyrc file, home settings from ~/.billyrc otherwise.
GIT dependency
Billy hopes to find git repository inside your project with existing remote. You haven't say billy where your remote is. It checks for .git/config
file and grabs all the remotes inside.
After config file is set up and you have pushed all the changes you've done Billy is ready to deploy.
Current branch instead of master since v0.2.4
Version 0.2.4 brings new feature about git usage: not it'll get your current branch if no one is specified in config with branch:
key.
Usage
Here I will show how to download remote config file to my local folder and then deploy some project_name to staging server:
cd ~
billy eat http://staging.server.com/billy.cfg
cd project_name
billy walk project_name
open http://staging.server.com/project_name/index.html
SSH keys management
Authorization uses ssh keys only, no password auth.
Auth process: deployer → ssh → staging server → ssh → git remote repository
This scheme requires deployer publick key to be placed on staging server and staging server publick key on remote git server.
Get my ssh key
billy my key
This command will return one of your ssh keys, id_rsa.pub by default