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
git push -o ci.skip
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/)
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
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
Se rendre sur https://gitlab.homelab/ :
root/etc/gitlab/initial_root_passwordsudo 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.
[[runners]]
[runners.docker]
cpus = "1"
memory = "400m"