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
# 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: Provides authentication system
- altria-git: Git integration plugin
- altria-pipeline: Lets your job to kick another job after finished
- altria-processing_time: Display each build's processing time graph on job page
- altria-simple_cov: Save simplecov coverage for each build
# 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"