# Add a GitLab CI Runner

### Setup a Standard RHEL/AlmaLinux 8.5 VM

1. Docker proxy settings:
    ```bash
    cat /etc/systemd/system/docker.service.d/http-proxy.conf 
    [Service]
    Environment="HTTP_PROXY=http://proxy.lbs.alcatel-lucent.com:8000" "HTTPS_PROXY=http://proxy.lbs.alcatel-lucent.com:8000" "NO_PROXY=orbw-artifactory.ca.alcatel-lucent.com"
    ```

2. Insecure (private) registry:
    ```json
    cat /etc/docker/daemon.json 
    {
        "insecure-registries" : [ "orbw-artifactory.ca.alcatel-lucent.com:8081" ]
    }
    ```

### Install GitLab Runner

```bash
docker run -d --name gitlab-runner --restart always -v /home/cloud-user/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock orbw-artifactory.ca.alcatel-lucent.com:8081/nokia-nsp-docker-virtual/gitlab/gitlab-runner:latest
```

### GitLab Runner Register

```bash
docker run --rm -it -v /home/cloud-user/config:/etc/gitlab-runner orbw-artifactory.ca.alcatel-lucent.com:8081/nokia-nsp-docker-virtual/gitlab/gitlab-runner:latest register
```

Example config:

```toml
sudo cat config/config.toml 
concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "demo-docker"
  url = "http://orbw-git.ca.alcatel-lucent.com/"
  token = "JcDzeQGJsuDB2Jy5aPZz"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "orbw-artifactory.ca.alcatel-lucent.com:8081/nokia-nsp-docker-virtual/docker:19.03.12"
    privileged = true
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]
    shm_size = 0

[[runners]]
  name = "demo-shell"
  url = "http://orbw-git.ca.alcatel-lucent.com/"
  token = "PwUC-CB2PGfDHNH6ar3Z"
  executor = "shell"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
```
