All Projects → ulm0 → gitlab-runner

ulm0 / gitlab-runner

Licence: MIT license
GitLab Runner (Docker image) for ARM devices, this is a mirror repository of

Programming Languages

shell
77523 projects
Dockerfile
14818 projects
HCL
1544 projects
Makefile
30231 projects

Projects that are alternatives of or similar to gitlab-runner

Gitlab
GitLab CE (Docker image) for ARM devices, this is a mirror repository of
Stars: ✭ 121 (+611.76%)
Mutual labels:  arm, gitlab, armv7, raspberry, raspberry-pi-3
gitlab-runner
Gitlab Runner on Alpine Linux [Docker]
Stars: ✭ 17 (+0%)
Mutual labels:  gitlab, gitlab-ci, gitlab-runner, armhf
gitlab-ci-runner-marathon
A customized Docker image for running scalable GitLab CI runners on Marathon
Stars: ✭ 14 (-17.65%)
Mutual labels:  gitlab, gitlab-ci, gitlab-runner
Raspberrypi tempmon
Raspberry pi CPU temperature monitor with many functions such as logging, GPIO output, graphing, email, alarm, notifications and stress testing. Python 3.
Stars: ✭ 52 (+205.88%)
Mutual labels:  arm, raspberry, raspberry-pi-3
gitlab-chart
Kubernetes Helm chart to deploy GitLab
Stars: ✭ 59 (+247.06%)
Mutual labels:  gitlab, gitlab-ci, gitlab-runner
Python Gitlab
Python wrapper for the GitLab API
Stars: ✭ 1,679 (+9776.47%)
Mutual labels:  gitlab, gitlab-ci, gitlab-cli
tensorflow-serving-arm
TensorFlow Serving ARM - A project for cross-compiling TensorFlow Serving targeting popular ARM cores
Stars: ✭ 75 (+341.18%)
Mutual labels:  arm, armv7, armhf
gitlab-ci-android-fastlane
Docker image for building android apps on Gitlab CI
Stars: ✭ 25 (+47.06%)
Mutual labels:  gitlab, gitlab-ci, gitlab-runner
docker-nagios
Docker image for Nagios Core in Alpine Linux with basic plugins, available for x86, x64 , ARM v6, ARM v7 and ARM64.
Stars: ✭ 33 (+94.12%)
Mutual labels:  arm, armv7, raspberry
podman-gitlab-runner
Use Podman as a custom executor for your Gitlab CI
Stars: ✭ 87 (+411.76%)
Mutual labels:  gitlab, gitlab-ci, gitlab-runner
godot-gameshell
Godot export templates and instructions for the GameShell portable game console and other single-board computers
Stars: ✭ 34 (+100%)
Mutual labels:  armv7, raspberry, armhf
gitlabby-dockerish-laravel
What happens when you Dockerize your Laravel testing environment and throw it at Gitlab CI?
Stars: ✭ 33 (+94.12%)
Mutual labels:  gitlab, gitlab-ci, gitlab-runner
Docker Jdownloader
JDownloader 2 Docker Image (Multiarch) - Passed 40M Downloads
Stars: ✭ 85 (+400%)
Mutual labels:  arm, armv7, raspberry
Nwjs rpi
[NW.js port for Raspberry Pi] binary compiled for the ARMv6 used in Raspberry Pi (compatible with RPi 2 and RPi 3)
Stars: ✭ 91 (+435.29%)
Mutual labels:  arm, armv7, raspberry
alpine-qbittorrent-openvpn
qBittorrent docker container with OpenVPN client running as unprivileged user on alpine linux
Stars: ✭ 230 (+1252.94%)
Mutual labels:  arm, armv7, armhf
rasa-docker-arm
Rasa Docker image for ARMv7. Runs on a Raspberry Pi.
Stars: ✭ 19 (+11.76%)
Mutual labels:  arm, armv7, armhf
arch-pi
A simple script automatically installing Arch Linux for the Raspberry Pi.
Stars: ✭ 38 (+123.53%)
Mutual labels:  arm, raspberry
wor-flasher
Legal utility that runs on RPiOS to flash another SD card with Windows 10/11
Stars: ✭ 451 (+2552.94%)
Mutual labels:  raspberry, raspberry-pi-3
aws-autoscaling-gitlab-runner
CloudFormation template to deploy a GitLab Runner with auto-scaling on AWS.
Stars: ✭ 44 (+158.82%)
Mutual labels:  gitlab-ci, gitlab-runner
RPi-TELEBOT
Python based Telegram bot to monitor and control the raspberry pi
Stars: ✭ 19 (+11.76%)
Mutual labels:  raspberry, raspberry-pi-3

GitLab Runner for ARM

pipeline status Docker Pulls Docker Pulls License: MIT

Tags

Notes:

  • Alpine is the default image, when running docker pull klud/gitlab-runner this one is going to be downloaded depending on the runner arch, at the moment only arm is supported.

About the image

These image are built for ARM devices, based on the official repo of the GitLab Runner, both Alpine and Ubuntu flavors are available.

Overview

Runner container setup

You need to mount a config volume into our gitlab-runner container to be used for configs and other resources:

docker run -d --name arm-runner \
-v $(pwd)/.runner:/etc/gitlab-runner \
--restart=always \
klud/gitlab-runner

Or you can use a config container to mount your custom data volume:

docker run -d --name runner-config \
    -v /etc/gitlab-runner \
    armhf/busybox \
    /bin/true

docker run -d --name arm-runner --restart=always \
    --volumes-from runner-config \
    klud/gitlab-runner

If you plan on using the Docker executor, it is necessary to mount the Docker socket this way:

docker run -d --name arm-runner --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v $(pwd)/.runner:/etc/gitlab-runner \
  klud/gitlab-runner

You can achieve this by using a docker-compose.yml file as well:

version: "2"
runner:
  image: klud/gitlab-runner
  container_name: arm-runner
  restart: always
  volumes:
    - $(pwd)/.runner:/etc/gitlab-runner
    - /var/run/docker.sock:/var/run/docker.sock

Register runner

Once the container is up and running, it is time to register the runner on the GitLab server

You can either do this:

docker exec -it arm-runner gitlab-runner register

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
https://gitlab.domain.tld
Please enter the gitlab-ci token for this runner
XXXXXXXXXXXXXXXXXXXX
Please enter the gitlab-ci description for this runner
ARM Runner by ulm0
INFO[0034] fcf5c619 Registering runner... succeeded
Please enter the executor: shell, docker, docker-ssh, ssh?
docker
Please enter the Docker image (eg. ruby:2.1):
docker:17.12
INFO[0037] Runner registered successfully. Feel free to start it, but if it's
running already the config should be automatically reloaded!

Or this:

docker exec -it arm-runner \
gitlab-runner register -n \
--url https://gitlab.domain.tld \
--registration-token XXXXXXXXXXXXXXXXXXXX \
--executor docker \
--description "ARM Runner by ulm0" \
--docker-image "docker:17.12" \
--tag-list "docker,arm" \
--docker-privileged

Troubleshooting

If you're using docker in docker in the runner, you may expirience some problems when talking to the docker socket

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

In order to address this issue you need to look within the config folder you mounted in the runner container, there will be a config file inside, you need to add some lines and then restart the runner with docker restart arm-runner.

concurrent = 1
check_interval = 0

[[runners]]
  name = "ARM Runner by ulm0"
  url = "https://gitlab.domain.tld"
  token = "XXXXXXXXXXXXXXXXXXXX"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "docker:17.12"
    ### IF YOU USED THE FIRST METHOD YOU NEED TO SET
    ### THE RUNNER IN PRIVILEGED MODE TO BE ABLE TO SPAWN JOBS
    privileged = true
    disable_cache = false
    ### YOU MAY NEED TO ADD THE CACHE DIR
    cache_dir = "cache"
    ### AND THE DOCKER SOCKET TO BE ABLE TO SPAWN JOBS AS WELL
    volumes = ["/var/run/docker.sock:/var/run/docker.sock","/cache"]
  [runners.cache]

forthebadge forthebadge

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].