This is the GitLab Runner repository, the official GitLab CI runner written in Go. It runs tests and sends the results to GitLab CI. GitLab CI is the open-source continuous integration server that coordinates the testing.
The official repository for this project is on GitLab.com.
None: gitlab-ci-multi-runner is run as a single binary.
This project is designed for the Linux, OS X and Windows operating systems.
- Allows to run:
- multiple jobs concurrently
- use multiple tokens with multiple server (even per-project)
- limit number of concurrent jobs per-token
- Jobs can be run:
- locally
- using Docker container
- using Docker container and executing job over SSH
- connecting to remote SSH server
- Is written in Go and distributed as single binary without any other requirements
- Supports Bash, Windows Batch and Windows PowerShell
- Works on Ubuntu, Debian, OS X and Windows (and anywhere you can run Docker)
- Allows to customize job running environment
- Automatic configuration reload without restart
- Easy to use setup with support for docker, docker-ssh, parallels or ssh running environments
- Enables caching of Docker containers
- Easy installation as service for Linux, OSX and Windows
- Install using GitLab's repository for Debian/Ubuntu/CentOS/RedHat (preferred)
- Install on OSX (preffered)
- Install on Windows (preffered)
- Install as Docker Service
- Manual installation (advanced)
- Bleeding edge (development)
If you want to add another project, token or image simply RE-RUN SETUP. You don't have to re-run the runner. It will automatically reload configuration once it changes.
Visit Changelog to view recent changes.
$ gitlab-ci-multi-runner --help
NAME:
gitlab-ci-multi-runner - a GitLab Runner
USAGE:
gitlab-ci-multi-runner [global options] command [command options] [arguments...]
VERSION:
dev
AUTHOR:
Kamil Trzciński - <ayufan@ayufan.eu>
COMMANDS:
delete delete specific runner
run, r run multi runner service
install install service
uninstall uninstall service
start start service
stop stop service
restart restart service
setup, s setup a new runner
run-single start single runner
verify verify all registered runners
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--debug debug mode [$DEBUG]
--log-level, -l 'info' Log level (options: debug, info, warn, error, fatal, panic)
--help, -h show help
--version, -v print the version
- It should be simple to add additional executors: DigitalOcean? Amazon EC2?
- Maybe script annotations?
Kamil Trzciński, 2015, Polidea
GPLv3