This is the repository of the official GitLab Runner written in Go. It runs tests and sends the results to GitLab. GitLab CI is the open-source continuous integration service included with GitLab that coordinates the testing.
The official repository for this project is on GitLab.com.
None: GitLab Runner is run as a single binary.
This project is designed for the Linux, OS X and Windows operating systems.
If you want to use Docker make sure that you have 1.5.0 at least installed.
- 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
- using Docker container with autoscaling on different clouds and virtualization hypervisors
- 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
Version 0.5.0 introduces many security related changes.
One of such changes is the different location of config.toml
.
Previously (prior 0.5.0) config was read from current working directory.
Currently, when gitlab-runner
is executed by root
or with sudo
config is read from /etc/gitlab-runner/config.toml
.
If gitlab-runner
is executed by non-root user, the config is read from $HOME/.gitlab-runner/config.toml
.
However, this doesn't apply to Windows where config is still read from current working directory, but this most likely will change in future.
The config file is automatically migrated when GitLab Runner was installed from GitLab's repository. For manual installations the config needs to be moved by hand.
- Install using GitLab's repository for Debian/Ubuntu/CentOS/RedHat (preferred)
- Install on OSX (preferred)
- Install on Windows (preferred)
- Install as Docker Service
- Use on FreeBSD
- Manual installation (advanced)
- Bleeding edge (development)
- Install development environment
- See the self-signed certificates
- See advanced configuration options
- See autoscale configuration
- See example configuration file
- See security considerations
- Example configuration running the GitLab CE integration tests
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
- Please see the GitLab Direction page.
- Feel free submit issues with feature proposals on the issue tracker.
This code is distributed under the MIT license, see the LICENSE file.