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