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:
push
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
Copyright © 2009 Micah Geisel, Nick Hogle. See LICENSE for details.