Giter VIP home page Giter VIP logo

heroku_cijoe's Introduction

Heroku CI Joe: Run CI Joe on Heroku!

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!

Additional Features

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.

Quickstart

  1. Clone me
  2. Deploy to Heroku
  3. Configure
  4. Push some commits to your git repo
  5. Let the buildin' begin

Configuration

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.

Twitter

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

Bit.ly

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

CI Joe

  • cijoe_buildallfile - see the CI Joe README for this variable
  • cijoe_runner - see the CI Joe README for this variable
  • cijoe_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 repository
  • cijoe_user - HTTP basic auth user for Heroku CI Joe
  • cijoe_pass - HTTP basic auth password for Heroku CI Joe

Caveats

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.

Future Features

  • Writing builds to Amazon S3, or some other endpoint
  • Configurable build message format

heroku_cijoe's People

Contributors

hoverlover avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.