====== GitLab ====== * [[https://about.gitlab.com/blog/2025/03/24/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd/|Prepare now: Docker Hub rate limits will impact GitLab CI/CD]] * [[https://kgaut.net/blog/2025/migrer-une-instance-gitlab-sur-un-nouveau-serveur|Migrer une instance gitlab sur un nouveau serveur]] * [[https://apereo.github.io/2019/02/18/cas61-saml2-idp-gitlab/|Apereo CAS - SAML2 Identity Provider Integration w/ Gitlab (also starting HAProxy and LDAP)]] ==== CI ==== Il suffit de placer un fichier ''.gitlab-ci.yml'' à la racine du projet correctement configuré. Exemple de fichier pour les tests d'une application Django: image: python:latest cache: paths: - ~/.cache/pip/ before_script: - python -V # Print out python version for debugging - pip install -r requirements.txt -r requirements-dev.txt test: script: - make flake - make coverage === Désactiver la CI pour un push === git push -o ci.skip ==== Installation ==== 2 cœurs et au moins 4 Go de RAM Pour 20 requêtes par secondes ou jusqu'à 1000 utilisateurs : 8 cœurs et 16 Go de RAM (https://docs.gitlab.com/administration/reference_architectures/1k_users/) === Installation de base === https://docs.gitlab.com/install/package/debian/?tab=Community+Edition curl "https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh" | sudo bash sudo EXTERNAL_URL="https://gitlab.homelab" apt install gitlab-ce === Configuration HTTPS === https://docs.gitlab.com/omnibus/settings/ssl/#use-an-acme-server-other-than-lets-encrypt La configuration échoue car il n'a pas été possible de récupérer un certificat Let's Encrypt pour le TLD .homelab. Ajouter dans ''/etc/gitlab/gitlab.rb'' : letsencrypt['acme_staging_endpoint'] = 'https://ca.homelab/acme/acme/directory' letsencrypt['acme_production_endpoint'] = 'https://ca.homelab/acme/acme/directory' sudo cp /usr/local/share/ca-certificates/homelab.crt /etc/gitlab/trusted-certs sudo rm -rf /etc/gitlab/ssl/ sudo gitlab-ctl reconfigure === Première connexion === Se rendre sur https://gitlab.homelab/ : * identifiant : ''root'' * mot de passe : dans ''/etc/gitlab/initial_root_password'' ==== Runners ==== === Installation === sudo apt install docker.io # Download the binary for your system sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-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 Enregistrer ensuite un runner d'instance. === Limiter les ressources des conteneurs Docker === * https://docs.gitlab.com/runner/configuration/advanced-configuration/ [[runners]] [runners.docker] cpus = "1" memory = "400m"