Project

propel

0.01
No commit activity in last 3 years
No release in over 3 years
The 'propel' script helps you to push your code to a remote server while following Continuous Integration (CI) best practices. Propel first checks the CI server to make sure it's passing, and then runs the local spec suite and pushes changes. If the remote server is failing, just have propel wait for it to pass while you get a coffee.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.5.0
= 0.0.2

Runtime

>= 0
>= 0
 Project Readme

Propel Build Status

Propel is a command that helps you to push to remote repositories while following best practices for continuous integration. We believe that before you push to a shared git repository, you should check that both the local and the Continuous Integration (CI) server are green. You should also pull with rebase to avoid pointless merge commits, and Propel uses this behavior as a default.

Compatibility

Propel currently works with Jenkins, Team City and CI Joe.

Installing

Propel can be used from the command line. Install the gem:

gem install propel

To use propel, simply run 'propel' from the command line. Without a remote build server configured, it will just do a pull --rebase && rake && git push. You can see all available options with propel --help.

You generally want to use propel in conjunction with a CI server. Just point propel to your CI server by passing the option --status-url http://ci.example.com/yourbuild.rss. Propel will figure out if your build is passing as of the latest commit for Jenkins, Team City and CI Joe.

Once you figure out the options that work for you, just put a .propel file in the root of your project. Command line parameters override the options found in the configuration file. Your configuration file should have one parameter on each line. For example:

--status-url http://ci.example.com/job/Test%20project/rssAll
--wait

This will set the status url for the project, and default to waiting for the CI build to pass if it is currently failing.

Credits

Thanks to Jose Carrion (http://joselo.github.com/) for pair programming with me for several hours during the development of Propel.