Skip to content

omusico/gitlab-ci-multi-runner

 
 

Repository files navigation

GitLab Runner

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.

Build Status

Contributing

The official repository for this project is on GitLab.com.

Requirements

None: gitlab-ci-multi-runner is run as a single binary.

This project is designed for the Linux, OS X and Windows operating systems.

Features

  • 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

Installation

Advanced Configuration

Example integrations

Extra projects?

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.

Changelog

Visit Changelog to view recent changes.

Help

$ 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

Future

  • It should be simple to add additional executors: DigitalOcean? Amazon EC2?
  • Maybe script annotations?

Author

Kamil Trzciński, 2015, Polidea

License

GPLv3

About

GitLab CI Multi-purpose Runner in Go

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 91.8%
  • Makefile 5.2%
  • Shell 3.0%