Administration Gitlab
Déployer Gitlab
Avant de déployer Gitlab, s’assurer qu’aucun job n’est actuellement en cours pour éviter les échecs de reporting du job pendant le redémarrage de Gitlab : https://forge.tedomum.net/admin/jobs
Configurer un runner de groupe
Les runners de groupe sont configurés dans https://forge.tedomum.net/tedomum/kity/-/tree/main/tedofr/gitlab
Pour ajouter un runner pour un groupe nommé tests, commencer par copier un bloc test.yaml dans runner-config.yaml :
tedomum.toml: |
[[runners]]
url = "https://forge.tedomum.net"
executor = "kubernetes"
[runners.kubernetes]
namespace = "tedofr-ci" # Laisser par défaut sauf si négocié un namespace dédié
cpu_limit = "2" # Ajuster les limites fonction du raisonnable
memory_limit = "6Gi" # Ajuster les limites fonction du raisonnable
service_cpu_limit = "1"
service_memory_limit = "1Gi"
helper_cpu_limit = "500m"
helper_memory_limit = "250Mi"
logs_base_dir = "/tmp"
scripts_base_dir = "/tmp"
allowed_pull_policies = ["always", "if-not-present"]
[runners.kubernetes.node_selector]
"node-role.kubernetes.io/runner" = "true"
[runners.kubernetes.node_tolerations]
"node.kubernetes.io/unschedulable" = "NoSchedule"Puis ajouter un secret (via SealedSecrets) dans runner-secrets.yaml avec le token de runner de groupe obtenu depuis l’interface Gitlab.
Pour cela, il suffit de créer télécharger kubeseal. De créer ensuite un secret de type :
apiVersion: v1
kind: Secret
metadata:
namespace: tedofr-gitlab
name: runner-secrets
stringData:
TOKEN_xxxxxx: "glrt-xxxxxx"en prenant soin de remplacer TOKEN_xxxxxx par le nom de TOKEN que l’on souhaite. Et glrt-xxxxxx est le token brut délivré par Gitlab Runner au moment de la création du runner.
Ensuite on vient scellé le secret avec kubeseal --controller-namespace=infra-secrets --controller-name=sealed-secrets -f tokenSecret.yaml.
Et pour peupler runner-secrets.yaml, dans la partie encryptedData, il faut copier/coller la valeur de TOKEN renvoyée après TOKEN_xxxxxx.
Enfin, modifier runner-server.yaml en ajoutant une ligne de registration de runner pour le runner ajouté.
Commit, push, déployer, le runner devrait être disponible.