2015-09-24 4 views
2

Я обновил версию Gitlab до версии 8.0. Также интегрирован CI в Gitlab. Но теперь, когда бегун CI пытается получить репозиторий git, он получает пустой репозиторий. Произошла ошибка как для устаревшего бегуна (я использовал раньше) и новая ошибка gitlab-ci-multi-runnerGitlab multi-runner не может получить репозиторий git после обновления 8.0

У меня есть

gitlab-ci-multi-runner 0.5.5-1-g69bc934 (69bc934) 
Using Shell executor... 
Running on my_server... 

Fetching changes... 
Checking out 9f6188d0 as super_branch... 
fatal: reference is not a tree: 9f6188d0e197e0a010257d3a961c95b5a4abe504 

ERROR: Build failed with: exit status 128 

Ошибка одинакова для обоего версий.

Я проверил, что такое дистанционный путь git. Когда я попытался клонировать его на свой компьютер, я получил предупреждение о том, что этот репозиторий пуст, и он создал только .git.

ответ

3

// UPDATE

Понял фиксированной ^^

Результаты отказа от Nginx/апача и новый 'gitlab-GIT-HTTP-сервер'. Ниже ссылка я нашел в дополнительных обновлений: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/7.14-to-8.0.md#new-nginx-configuration

Как указано там,

Если вы пропустите этот шаг «мерзавец клон» и «GIT толчок» по HTTP (S) перестанет работать ,

В основном ваш бегун в настоящее время разговаривает с единорогом, в то время как он должен запрашивать репо из «gitlab-git-http-server».


Например, я использую Apache 2.4 и должен был изменить файл gitlab в местах доступный:

от:

RewriteEngine on 
    #forward all requests to GitLab Rails app (Unicorn) 
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f 
    RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA] 

к:

RewriteEngine on 
    #forward request ending with .git to gitlab-git-http-server 
    RewriteCond %{REQUEST_URI} .*\.(git) 
    RewriteRule .* http://127.0.0.1:8181%{REQUEST_URI} [P,QSA] 

    #forward any other requests to GitLab Rails app (Unicorn) 
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f 
    RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA] 

Не забудьте правильно перезагрузить веб-сервер, чтобы использовать ваши изменения.


// OLD

Как у меня такая же проблема: Клонирование репо с «gitlab-runner' пользователем (в его конкретной сборки-каталог) и в конечном итоге начать сначала ci приводит к (возможно) успешной сборке.

Но это не более чем обходное решение. Как только вы очистите строительный каталог или переключите ветви, он снова рухнет.

+0

Возможно, это глупый вопрос, но поскольку я на самом деле не парень-сервер, я задавался вопросом, где мы должны настроить расположение файла? Я использую установку gitlab через Bitnami. :) – ThijsM

+0

Должен признаться, я никогда не использовал битнами. Но файлы, которые я рекомендую настраивать, не являются файлами gitlab, а конфигурациями apache/nginx. Это приводит к небольшой проблеме: Я понятия не имею, какой веб-сервер вы используете, и как вы его настроили. Но дать вероятное решение (для серверов на основе debian и стандартной установки apache): В разделе/​​etc/apache2/имеется каталог, называемый сайтами. Внутри должен быть файл, который вы ищете. Я либо настоятельно рекомендую прочитать что-то о a2ensite, либо выйти из стула «серверного парня»;) –