Install an Heptapod runner

Here is a copy of the instructions to install a runner for Heptapod (as they are only available to the administrators):

Download and install binary

# Download the binary for your system
sudo curl -L --output /usr/local/bin/gitlab-runner https://download.heptapod.net/runner/latest/binaries/heptapod-runner-linux-amd64

# Give it permission to execute
sudo chmod +x /usr/local/bin/gitlab-runner

# Create a GitLab Runner user
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

# Install and run as a service
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start

Command to register runner
sudo gitlab-runner register --url https://foss.heptapod.net/ --registration-token <token>

Request the token by contacting the administrators.

It is also possible to use the docker image instead of the binary with:

docker run -d --name heptapod-runner --restart always -v /srv/heptapod-runner/config:/etc/heptapod-runner -v /var/run/docker.sock:/var/run/docker.sock heptapod/heptapod-runner:latest

Here is the template of the configuration file for Tryton runners:

concurrent = <number of cores>                                                                  
check_interval = 1                                                          

[session_server]
  session_timeout = 1800

[[runners]]
  name = "<organisation>-<name>-docker-<arch>"
  url = "https://foss.heptapod.net/"
  token = "<token>"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false        
    image = "python"          
    privileged = false          
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
  [runners.docker.tmpfs]
    "/tmp" = "rw,exec"
  [runners.docker.services_tmpfs]
    "/var/lib/postgresql/data" = "rw"

with:

  • <number of cores>: the number of cores shared
  • <organisation>: the name of the organisation giving the resource (ex: tryton)
  • <name>: the name of host (ex: tycho)
  • <arch>: the type of CPU architecture (ex: amd64)
  • <token>: the token provided by the administrator
3 Likes