# How to add a new CI read more: `https://docs.gitlab.com/runner/` ## Docker ### Setup Docker and install GitLab Runner #### Install ```bash curl -sSL https://get.docker.com/ | sh ``` #### Run GitLab Runner in a container ```bash docker run <chosen docker options...> \ gitlab/gitlab-runner <Runner command and options...> ``` Example: ```bash docker run --rm -t -i gitlab/gitlab-runner --help ``` #### Docker Images installation 1.You need to mount a config volume into the gitlab-runner container to be used for configs and other resources: ```bash docker run -d --name gitlab-runner --restart always \ -v /srv/gitlab-runner/config:/etc/gitlab-runner \ -v /var/run/docker.sock:/var/run/docker.sock \ ``` Tip: On macOS, use /Users/Shared instead of /srv. Or, you can use a config container to mount your custom data volume: ```bash docker run -d --name gitlab-runner-config \ -v /etc/gitlab-runner \ busybox:latest \ /bin/true ``` And then, run the Runner: ```bash docker run -d --name gitlab-runner --restart always \ -v /var/run/docker.sock:/var/run/docker.sock \ --volumes-from gitlab-runner-config \ gitlab/gitlab-runner:latest ``` 2. Register the runner you just launched by following the instructions in the [Docker section of Registering Runners](https://docs.gitlab.com/runner/register/index.html#docker) or below. The runner won’t pick up any jobs until it’s registered. ## Registering Runners These instructions are meant to be followed after Run GitLab Runner in a container. In this section, you will launch an ephemeral gitlab-runner container to register the container that you created during install. After you finish registration, the resulting configuration will be written to your chosen config volume (e.g. /srv/gitlab-runner/config), and will be automatically loaded by the runner using that config volume. To register a Runner using a Docker container: You can click the [link](https://docs.gitlab.com/runner/register/index.html#docker) or follow the instruction below: Registering Runners 1. Run the register command: ```bash docker run --rm -t -i -v /srv/gitlab-runner/config:/etc/gitlab-runner \ gitlab/gitlab-runner register ``` And to fill all info for gitlab-runner register, in your repo: Settings > CI/CD > Runners You’ll be asked for the default image to be used for projects that do not define one in .gitlab-ci.yml: Please enter the Docker image (eg. ruby:2.6): <your Docker image> ## Write script - Create file .gitlab-ci.yml in your project, [readmore](https://docs.gitlab.com/ee/ci/)