minimalist, decentralized, flexible Continuous Integration Server for hackers
Project description
minion-ci is a minimalist, decentralized, flexible Continuous Integration Server for hackers.
Installation
It’s recommended to use pip to install minion-ci:
pip3 install minion-ci
MongoDB: To persist the job data minion-ci uses MongoDB. Make sure you have MongoDB installed …
apt-get install mongodb
yum install mongodb
… and an instance is running:
ps -ef | grep mongod
… eventually start one with:
mongod
minion.yml File Format
The minion-ci server will clone your repository and parse a file called minion.yml located in the root of the cloned repository. The format is really simple:
# command which is run before the real command
before_run: "echo 'I was run before the test ...'"
# the test command
command: "echo 'This is my test...'"
# command which is run after the real command
after_run: "echo 'I was run after the test ...'"
Server API
Route |
HTTP Method |
Parameter |
Description |
---|---|---|---|
/status |
GET |
Get status of the server |
|
/jobs |
GET |
page, page_size |
Get a list of all jobs |
/jobs |
PUT, POST |
repo_url, commit_hash, branch, keep_data, arbitrary data |
Create a new job |
/jobs |
DELETE |
Remove all jobs |
|
/jobs/<job_id> |
GET |
Get a single job |
|
/jobs/<job_id> |
DELETE |
Remove a single job |
Stack
minion-ci is built on top of flask and uses a MongoDB to persist jobs.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.