Почему мой Gitlab CE выходит из строя каждый раз, когда я запускаю конвейер?

#gitlab #gitlab-ci #gitlab-ci-runner

#gitlab #gitlab-ci #gitlab-ci-runner

Вопрос:

У меня есть собственный хостинг Gitlab CE 13.4.6 и установлен GitLab Runner через docker. Все работает нормально (я могу выполнять обычные задачи администратора, отправлять код и т. Д.), Пока я не запустил конвейер. Каждый раз, когда конвейер запускается, он успешно выполняет одно или два задания, но затем Gitlab выдает мне сообщение «Обнаружена проблема со структурной целостностью, обратитесь к системному администратору», а затем вылетает с ошибкой 500. Не имеет значения, какой проект или конвейер я запускаю, он всегда выходит из строя во время выполнения конвейера (он никогда не завершается).

Когда я копаюсь в журналах, я нахожу эту ошибку в журнале gitlab-workhorse:

{"correlation_id":"awMp1EaZkh3","duration_ms":0,"error":"badgateway: failed to receive response: dial unix /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket: connect: no such file or directory","level":"error","method":"POST","msg":"error","time":"2020-11-13T03:24:15Z","uri":"/api/v4/jobs/request"}

Я использую последнюю версию docker для Mac (19.03), а ниже приведен мой docker-compose. Есть мысли, что я делаю не так с установкой?

 version: "3.8"
services:
  gitlab-web:
    image: 'gitlab/gitlab-ce:13.4.6-ce.0'
    restart: always
    hostname: 'gitlab.home.app'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://gitlab.home.app'
        #I configured SSL manually
        letsencrypt['enable'] = false
        registry_external_url 'https://gitlab.home.app:5005'
        registry_nginx['enable'] = true
        registry_nginx['ssl_certificate'] = '/etc/gitlab/ssl/gitlab.home.app.crt'
        registry_nginx['ssl_certificate_key'] = '/etc/gitlab/ssl/gitlab.home.app.key'
        registry_nginx['listen_port'] = '5005'
        registry_nginx['listen_https'] = true
        gitlab_workhorse['auth_socket'] = '/var/tmp/gitlab-rails/sockets/gitlab.socket'
    ports:
       - '80:80'
       - '443:443'
       - '8822:22'
       - '5005:5005'
    volumes:
      - './srv/gitlab/config:/etc/gitlab'
      - './srv/gitlab/logs:/var/log/gitlab'
      - './srv/gitlab/data:/var/opt/gitlab'
    dns:
      - 192.168.1.224
    networks:
      - gitlab
  
  gitlab-runner:
    image: 'gitlab/gitlab-runner:v13.5.0'
    restart: always
    privileged: true
    depends_on:
      - 'gitlab-web'
    dns:
      - 192.168.1.224
    volumes:
      - './srv/gitlab-runner/config:/etc/gitlab-runner'
      - './runner-cert:/usr/share/ca-certificates'
      - '/var/run/docker.sock:/var/run/docker.sock'
    networks:
      - gitlab

networks:
  gitlab:
```
  

Ответ №1:

Оказывается, это была проблема с драйвером хранилища docker и тем, как он хранил данные на моем локальном томе. Я перешел на виртуальную машину Linux, и она работала нормально.