Mesos framework for running Gitlab CI tasks.
Currently this project contains a GitLab scheduler (assign jobs to slaves) and GitLab executor (execute job and send updates to CI API).
Project contains currently two compoments, first one is a scheduler, which is a Mesos framework that checks for new builds from a GitLab CI each time it gets new resource offers. The other one is an executor that sends updates to GitLab CI. This executor could be replaced by your own code (in future it might be a separate project).
Executor script must be on each slave's PATH.
- GitLab >= 6.4
- GitLab CI ~ 4.2
- Mesos
- Oracle Java 7 / OpenJDK 6 / OpenJDK 7
from project root (requires Maven installed, Maven 3 is fine, Maven 2 should also work)
$ mvn install
You can build a package for Debian simply with
$ ./build_package.sh --version 0.0.2
Set variables in /etc/gitlab-ci/scheduler.conf
:
MESOS_MASTER
-- Zookeeper URL or IP address of the masterGITLAB_CI_URL
-- e.g.http://my.gitlab.org
GITLAB_CI_TOKEN
-- token for registration of new runner (you'll find it in your Gitlab CI)