BARD gem

This is a collection of tools designed to ease collaboration within BOTandROSE design. It wraps git, capistrano, thor, and rake to make things as simple as:

bard push
bard pull

Requirements

git      --version >= 1.6.4
rubygems --version >= 1.3.4
ruby     --version == 1.8.7

Joining Bard

==== On any platform: - gem install bard

==== On Linux:

- Install RubyGems: $> wget … $> …

- Install Rake: $> sudo gem install rake ( NOTE: the sudo )

- Install Apache $> sudo apt-get install apache2

- Install Mysql $> sudo apt-get install mysql-server $> sudo /etc/init.d/mysql start ( No password for root, if it asks ) - Install Passenger $> sudo gem install passenger

$> sudo apt-get install apache2-prefork-dev as root. $> sudo apt-get install libapr1-dev as root. $> sudo apt-get install libaprutil1

$> sudo passenger-install-apache2-module

- Setup rails environment: Add line to /etc/apache2/apache2.conf: RailsEnv development $> apache2ctl restart ==== On Mac: - ???Wtf ? I dunno. eff macs

Todos

Joining an existing project

bard join will probably either do all these steps automatically, or help you do them: This list summarizes the existing steps needed to join a project.

$> bard join <project-name>

- Clone the project - (git clone [email protected]:<project-name>.git) - Init and update submodules

- Set up local environment: - Apache Put in /etc/apache2/sites-avaliable/<project-name>: <VirtualHost *:80> ServerName <project-name>.local DocumentRoot $HOME/$BardRoot/<project-name>/public </VirtualHost>

$> a2ensite <project-name> $> apache2ctl restart

- Set up /etc/hosts: append this line to /etc/hosts: 127.0.0.1 <project-name>.local

- Setup database yaml - sensible default: login: &login adapter: mysql database: <project-name> username: root password: socket: /var/run/mysqld/mysqld.sock

development: <<: *login

test: &TEST <<: *login database: <project-name>_test

cucumber: <<: *TEST

- Set up gems: $> rake gems:install

- Set up database $> rake db:create $> rake db:migrate

- Seed database from staging or production $> bard data

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright © 2009 Micah Geisel, Nick Hogle. See LICENSE for details.