![](http://gifzo.net/f2zmQFtkzv.gif)

Altria is a casual CI server, implemented with Ruby on Rails and some middlewares.

* rails4: notify build start/finish events via live streaming
* clockwork: cron scheduler
* foreman: process manager
* mysql: store jobs & builds
* resque: background worker using redis
* jquery: ajax updated view
* redis: build started/finished notification by pubsub system
* autodoc: generate API documents from request-specs

## Usage
```sh
# setup
git clone git@github.com:r7kamura/altria.git
cd altria
bundle exec rake db:create
bundle exec rake db:migrate
bundle exec rake db:migrate RAILS_ENV=test

# testing
bundle exec rspec

# documentation
bundle exec rspec AUTODOC=1

# start-up services
bundle exec foreman start
```

## Plugins
* [altria-authentication](https://github.com/r7kamura/altria-authentication): Provides authentication system
* [altria-git](https://github.com/r7kamura/altria-git): Git integration plugin
* [altria-pipeline](https://github.com/r7kamura/altria-pipeline): Lets your job to kick another job after finished
* [altria-processing_time](https://github.com/r7kamura/altria-processing_time): Display each build's processing time graph on job page
* [altria-simple_cov](https://github.com/r7kamura/altria-simple_cov): Save simplecov coverage for each build

```ruby
# Put your favorite plugin gems into Gemfile.local
gem "altria-authentication", git: "git@github.com:r7kamura/altria-authentication.git"
gem "altria-git", git: "git@github.com:r7kamura/altria-git.git"
gem "altria-simple_cov", git: "git@github.com:r7kamura/altria-simple_cov.git"
gem "altria-pipeline", git: "git@github.com:r7kamura/altria-pipeline.git"
gem "altria-processing_time", git: "git@github.com:r7kamura/altria-processing_time.git"
```
