github.com/secure-build/gitlab-runner@v12.5.0+incompatible/docs/index.md (about)

     1  ---
     2  comments: false
     3  last_updated: 2019-01-17
     4  ---
     5  
     6  # GitLab Runner Docs
     7  
     8  GitLab Runner is the open source project that is used to run your jobs and
     9  send the results back to GitLab. It is used in conjunction with [GitLab CI](https://about.gitlab.com/product/continuous-integration/),
    10  the open-source continuous integration service included with GitLab that
    11  coordinates the jobs.
    12  
    13  ## Requirements
    14  
    15  GitLab Runner is written in [Go](https://golang.org) and can be run as a single binary, no
    16  language specific requirements are needed.
    17  
    18  It is designed to run on the GNU/Linux, macOS, and Windows operating systems.
    19  Other operating systems will probably work as long as you can compile a Go
    20  binary on them.
    21  
    22  If you want to [use Docker](executors/docker.md), install the latest version.
    23  GitLab Runner requires a minimum of Docker `v1.13.0`.
    24  
    25  ## Features
    26  
    27  - Allows to run:
    28    - Multiple jobs concurrently.
    29    - Use multiple tokens with multiple server (even per-project).
    30    - Limit number of concurrent jobs per-token.
    31  - Jobs can be run:
    32    - Locally.
    33    - Using Docker containers.
    34    - Using Docker containers and executing job over SSH.
    35    - Using Docker containers with autoscaling on different clouds and virtualization hypervisors.
    36    - Connecting to remote SSH server.
    37  - Is written in Go and distributed as single binary without any other requirements.
    38  - Supports Bash, Windows Batch, and Windows PowerShell.
    39  - Works on GNU/Linux, macOS, and Windows (pretty much anywhere you can run Docker).
    40  - Allows customization of the job running environment.
    41  - Automatic configuration reload without restart.
    42  - Easy to use setup with support for Docker, Docker-SSH, Parallels, or SSH running environments.
    43  - Enables caching of Docker containers.
    44  - Easy installation as a service for GNU/Linux, macOS, and Windows.
    45  - Embedded Prometheus metrics HTTP server.
    46  
    47  ## Compatibility with GitLab versions
    48  
    49  The GitLab Runner version should be in sync with the GitLab version. While older
    50  Runners may still work with newer GitLab versions, and vice versa, in some cases,
    51  features may be not available or work properly if there's a version difference.
    52  
    53  Backward incompatibility is allowed only for major version updates.
    54  
    55  ## Install GitLab Runner
    56  
    57  GitLab Runner can be [installed](install/index.md) and used on GNU/Linux, macOS, FreeBSD, and Windows.
    58  You can install it using Docker, download the binary manually or use the
    59  repository for rpm/deb packages that GitLab offers. Below you can find
    60  information on the different installation methods:
    61  
    62  - [Install using GitLab's repository for Debian/Ubuntu/CentOS/RedHat (preferred)](install/linux-repository.md).
    63  - [Install on GNU/Linux manually (advanced)](install/linux-manually.md).
    64  - [Install on macOS](install/osx.md).
    65  - [Install on Windows](install/windows.md).
    66  - [Install as a Docker service](install/docker.md).
    67  - [Install in autoscaling mode using Docker machine](executors/docker_machine.md).
    68  - [Install on FreeBSD](install/freebsd.md).
    69  - [Install on Kubernetes](install/kubernetes.md).
    70  - [Install the nightly binary manually (development)](install/bleeding-edge.md).
    71  
    72  ## Register GitLab Runner
    73  
    74  Once GitLab Runner is installed, you need to register it with GitLab.
    75  
    76  Learn how to [register a GitLab Runner](register/index.md).
    77  
    78  ## Using GitLab Runner
    79  
    80  - See the [commands documentation](commands/README.md).
    81  - See [best practice documentation](best_practice/index.md).
    82  
    83  ## Selecting the executor
    84  
    85  GitLab Runner implements a number of [executors](executors/README.md) that can be used to run your
    86  builds in different scenarios. If you are not sure what to select, read the
    87  [I am not sure](executors/README.md#i-am-not-sure) section.
    88  Visit the [compatibility chart](executors/README.md#compatibility-chart) to find
    89  out what features each executor supports and what not.
    90  
    91  To jump into the specific documentation of each executor, see:
    92  
    93  - [Shell](executors/shell.md).
    94  - [Docker](executors/docker.md).
    95  - [Docker Machine and Docker Machine SSH (autoscaling)](executors/docker_machine.md).
    96  - [Parallels](executors/parallels.md).
    97  - [VirtualBox](executors/virtualbox.md).
    98  - [SSH](executors/ssh.md).
    99  - [Kubernetes](executors/kubernetes.md).
   100  
   101  No development of new executors is planned and we are not accepting
   102  contributions for new ones. Please check
   103  [CONTRIBUTION.md](https://gitlab.com/gitlab-org/gitlab-runner/blob/master/CONTRIBUTING.md#contributing-a-new-executors)
   104  for details.
   105  
   106  ## Configuring GitLab Runner
   107  
   108  See information on [configuring GitLab Runner](configuration/index.md), and:
   109  
   110  - [Advanced configuration options](configuration/advanced-configuration.md): Learn how to use the [TOML](https://github.com/toml-lang/toml) configuration file that GitLab Runner uses.
   111  - [Use self-signed certificates](configuration/tls-self-signed.md): Configure certificates that are used to verify TLS peer when connecting to the GitLab server.
   112  - [Autoscaling using Docker machine](configuration/autoscale.md): Execute jobs on machines that are created on demand using Docker machine.
   113  - [Autoscaling GitLab Runner on AWS](configuration/runner_autoscale_aws/index.md)
   114  - [The init system of GitLab Runner](configuration/init.md): Learn how the Runner installs its init service files based on your operating system.
   115  - [Supported shells](shells/index.md): Learn what shell script generators are supported that allow to execute builds on different systems.
   116  - [Security considerations](security/index.md): Be aware of potential security implications when running your jobs with GitLab Runner.
   117  - [Runner monitoring](monitoring/README.md): Learn how to monitor the Runner's behavior.
   118  - [Cleanup the Docker images automatically](https://gitlab.com/gitlab-org/gitlab-runner-docker-cleanup): A simple Docker application that automatically garbage collects the GitLab Runner caches and images when running low on disk space.
   119  - [Configure GitLab Runner to run behind a proxy](configuration/proxy.md): Learn how to set up a Linux proxy and configure GitLab Runner. Especially useful for the Docker executor.
   120  - [Feature Flags](configuration/feature-flags.md): Learn how to use feature flags to get access to features in beta stage or to enable breaking changes before the full deprecation and replacement is handled.
   121  - [Configure Session Server](configuration/advanced-configuration.md#the-session_server-section): Learn how to configure a session server for interacting with jobs the Runner is responsible for.
   122  
   123  ## Troubleshooting
   124  
   125  Read the [FAQ](faq/README.md) for troubleshooting common issues.
   126  
   127  ## Release process
   128  
   129  The description of release process of the GitLab Runner project can be
   130  found in
   131  [PROCESS.md](https://gitlab.com/gitlab-org/gitlab-runner/blob/master/PROCESS.md)
   132  
   133  ## Contributing
   134  
   135  Contributions are welcome, see [`CONTRIBUTING.md`](https://gitlab.com/gitlab-org/gitlab-runner/blob/master/CONTRIBUTING.md) for more details.
   136  
   137  ## Development
   138  
   139  See the [development documentation](development/README.md) to hack on GitLab
   140  Runner.
   141  
   142  If you're a reviewer of GitLab Runner project, then please take a moment to read the
   143  [Reviewing GitLab Runner](development/reviewing-gitlab-runner.md) document.
   144  
   145  ## Changelog
   146  
   147  See the [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-runner/blob/master/CHANGELOG.md) to view recent changes.
   148  
   149  ## License
   150  
   151  This code is distributed under the MIT license, see the [LICENSE](https://gitlab.com/gitlab-org/gitlab-runner/blob/master/LICENSE) file.