Installation de Gitlab avec Docker Compose et mise en place d’un runner pour notre projet GitLab

(Fait sur linux)

1) Premièrement il faut créer le dossier où on installera GitLab

mkdir ~/gitlab
export GITLAB_HOME=$(pwd)/gitlab

2) Créer le fichier docker-compose dans ~/gitlab

# docker-compose.yml
version: '3.7'
services:
  web:
    image: 'gitlab/gitlab-ce:latest'
    restart: always
    hostname: 'localhost'
    container_name: gitlab-ce
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://localhost'
    ports:
      - '8080:80'
      - '8443:443'
    volumes:
      - '$GITLAB_HOME/config:/etc/gitlab'
      - '$GITLAB_HOME/logs:/var/log/gitlab'
      - '$GITLAB_HOME/data:/var/opt/gitlab'
    networks:
      - gitlab
  gitlab-runner:
    image: gitlab/gitlab-runner:alpine
    container_name: gitlab-runner    
    restart: always
    depends_on:
      - web
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - '$GITLAB_HOME/gitlab-runner:/etc/gitlab-runner'
    networks:
      - gitlab

networks:
  gitlab:
    name: gitlab-network

3) Lancer les lignes des commandes ci-dessous

docker-compose up -d
docker exec -it gitlab-ce grep 'Password:' /etc/gitlab/initial_root_password

4) Aller sur (dans ce cas la) localhost et essayer de se connecter avec l’username “root” et le mot de passe qu’on a saisie à l’étape 3

5) En cas de pas pouvoir se connecter à cause de crédentials

docker exec -it d0bbe0e2e0bbdb bash <=== avec le CONTAINER_ID de Gitlab with your CONTAINER_ID

gitlab-rails console -e production

user = User.where(id: 1).first
user.password = 'your secret'
user.password_confirmation = 'your secret'
user.save
exit

6) Assigner un Gitlab-runner à note projet

En imaginant qu’on a déjà créé un projet sur GitLab, en l’occurence, “ProjectTest” il nous reste qu’à registrer un runner en lui spécifiant l’url, token, description, type d’executeur et autres.
Pour celle-là on récupère les informations nécessaire en nous guidant de l’image ci-dessous:

Maintenant il nous reste qu’à lancer la commande ci-dessous et saisir les données récupèrés (image)

gitlab-runner register

Maintenant le runner existe et tout devrait marcher. Pour s’assurer qu’il est marche on va au même endroit que comme montré dans l’image ci-dessus. Il devrait avoir un rond vert comme montré ci-dessous:

Si ce n’est pas le cas alors il faut lancer les runner avec la ligne de commande suivante:

gitlab-runner run

🙂

Leave a comment