Gitlab Runner - Kulichanin/speedtest GitHub Wiki
Install gitlab runner
Before start
Create gitlab-runner for your gitlab admin/runners/1/register
Get repo runner gitlab
helm repo add gitlab https://charts.gitlab.io
helm repo update gitlab
helm pull gitlab/gitlab-runner --untar
Castomize value
Add image pull secret to service account
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "homelab-harbor"}]}'
For GitLab Runner to run properly, you must set these values in your configuration file:
:67
gitlabUrl: URL
:81
runnerToken: "token"
:205
create: true
:221
Uncommnet rules
rules:
- resources: ["events"]
verbs: ["list", "watch"]
- resources: ["namespaces"]
verbs: ["create", "delete"]
- resources: ["pods"]
verbs: ["create","delete","get"]
- apiGroups: [""]
resources: ["pods/attach","pods/exec"]
verbs: ["get","create","patch","delete"]
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list"]
- resources: ["secrets"]
verbs: ["create","delete","get","update"]
- resources: ["serviceaccounts"]
verbs: ["get"]
- resources: ["services"]
verbs: ["create","get"]
:282
create: true
:299
imagePullSecrets:
[{"name": "homelab-harbor"}]
If use prometheus stack for metrics
metrics:
enabled: true
## Define a name for the metrics port
##
portName: metrics
## Provide a port number for the integrated Prometheus metrics exporter
##
port: 9252
## Configure a prometheus-operator serviceMonitor to allow autodetection of
## the scraping target. Requires enabling the service resource below.
##
serviceMonitor:
enabled: true
## Provide additional labels to the service monitor resource
##
labels:
release: kube-prometheus-stack
## Provide annotations to the service monitor ressource
##
## annotations: {}
## Define a scrape interval (otherwise prometheus default is used)
##
## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config
##
interval: "5s"
## Specify the scrape protocol scheme e.g., https or http
##
scheme: "http"
## Configure a service resource e.g., to allow scraping metrics via
## prometheus-operator serviceMonitor
service:
enabled: true
## Specify the service type e.g., ClusterIP, NodePort, LoadBalancer or ExternalName
##
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
##
type: ClusterIP
Install runner
Install gitlab-runner
helm install gitlab-runner ./gitlab-runner -f ./gitlab-runner/values.yaml -n gitlab-runner --create-namespace