I <3 CI Joe! But CI Joe uses conventions that don't jive with Heroku, like:
- git config variables
- git hooks
Heroku CI Joe attempts to solve these problems so you can run the awesome goodness of CI Joe on the raddest platform out there!
Along with the features provided by CI Joe, you also get:
- Twitter integration - Tweet your build results
- Automatic shortening of URLs in the build messages using Bit.ly
If you would like to have additional notification methods or features available, feel free to fork and contribute! The ci-joe fork that actually does all the work is located here.
- Clone me
- Deploy to Heroku
- Configure
- Push some commits to your git repo
- Let the buildin' begin
CI Joe reads it's configuration from git config. This, of course, won't
work on Heroku. Heroku CI Joe gets around this hurdle by using Heroku
config variables. For example the CI Joe config variable cijoe.runner
can be configured for Heroku CI Joe by executing the folowing using the
heroku command:
heroku config:add cijoe_runner=rake spec
Notice how "." is replace by "_" in the config variables. Any CI Joe config variable can be used in Heroku CI Joe. Simply replace the "." with "_". The following sections outline the configuration variables that are available.
To tweet your build results, you will need a Twitter account, of course. Also, you will need to register the build server as a Twitter application. Once the registration is complete you will need to set the following configuration variables:
twitter_consumer_key
twitter_consumer_secret
twitter_oauth_token
twitter_oauth_token_secret
You can use Bit.ly to automatically shorten the URLs in the build messages. You will need a Bit.ly account. Once you have an account, set the following configuration variables:
bitly_api_key
bitly_user_name
cijoe_buildallfile
- see the CI Joe README for this variablecijoe_runner
- see the CI Joe README for this variablecijoe_ci_server_url
- this is the URL for your deployed instance of Heroku CI Joe (used in the build status message)cijoe_git_url
- this is the URL to your git repositorycijoe_user
- HTTP basic auth user for Heroku CI Joecijoe_pass
- HTTP basic auth password for Heroku CI Joe
Heroku's platform is, for the most part, a read-only filesystem. Heroku CI Joe writes builds to the ./tmp
directory. This means that after a build is performed, the results may or may not be available to review. If you immediately go look at the results after a build notification, I've noticed that they are generally available. If you wait for very long after the build is complete, they usually are not available.
- Writing builds to Amazon S3, or some other endpoint
- Configurable build message format