Aller au contenu
Administration Gitlab

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.