Руководство прикладного разработчика#
Системные требования#
На рабочей машине разработчика должны быть установлены следующие пакеты:
makegitopensslbrew(только для MacOS)git-core(только для Ubuntu)Gitlab Development Kit (GDK)
Для Windows убедитесь, что установлена WSL версии 2, выполнив следующую команду в cmd или PowerShell:
> wsl -l -v
Пример результата:
NAME STATE VERSION
* Ubuntu-20.04 Running 2
Подключение и конфигурирование#
Полный путь директории GDK должен состоять не более чем из 60 символов. Проверить это можно следующей командой:
pwd | wc -c
После успешного клонирования необходимо запустить команду инициализации, которая установит все необходимые зависимости, в том числе asdf (менеджер управления версиями) и gem gitlab-development-kit:
make bootstrap
Миграция на текущую версию#
Миграция не предусмотрена в текущем релизе.
Быстрый старт#
Перед установкой Gitlab необходимо прописать переменную окружения FOSS_ONLY=1:
export FOSS_ONLY=1
echo -e "\nexport FOSS_ONLY=1" >> ~/.bash_profile
В примере выше замените ~/.bash_profile в следующих случаях:
при использовании MacOS: замените на
~/.zshrc;при использовании Ubuntu: замените на
~/.bashrc.
Приложение устанавливается из любого репозитория, который содержит fork нужной версии с доработками для платформы:
gdk install gitlab_repo=git@10.27.0.4:RELS/gitlab-pv.git
После успешной установки приложения, оно должно быть доступно по адресу http://127.0.0.1:3000.
Использование программного компонента#
Диагностика gdk:
gdk doctorЗапуск, остановка, перезапуск и проверка статуса сервисов:
gdk start/stop/restart/status <service>Мониторинг логов:
gdk tail <service>Можно также перечислить в качестве параметров отдельные логи по имени субдиректории в log/.
Запуск "тонкого" сервера для отладки в консоли.
gdk thinПосле выхода из него нужно выполнить команду
gdk start, чтобы запустилась стандартная Puma.Вывод всех команд и логина/пароля для входа по умолчанию:
gdk help
Часто встречающиеся проблемы и пути их устранения#
При установке gdk проблемы gpg с доступом к keyserver#
Ошибки:
gpg: сбой при получении с сервера ключей: Network is unreachable
gpg: сбой при получении с сервера ключей: No keyserver available
Решение:
Пропишите переменную окружения:
export NODEJS_CHECK_SIGNATURES=no
При попытке обратиться к Praefect возникает ошибка#
Ошибка:
Gitlab::Git::CommandError: 2:route repository creation: no healthy nodes.
В логах Praefect отображаются следующие сообщения:
2021-08-31_14:39:59.36697 [36mpraefect-gitaly-0 : [0mtime="2021-08-31T17:39:59+03:00" level=info msg="Starting GitalyversionGitaly, version 14.3.0-rc1-71-gd92449003"
2021-08-31_14:39:59.36765 [36mpraefect-gitaly-0 : [0mtime="2021-08-31T17:39:59+03:00" level=fatal msg="load config: config_path \"/Users/a19502986/projects/gitlab.com/gitlab-org/gitlab-development-kit/gitaly/gitaly-0.praefect.toml\": socket could not be created in /Users/a19502986/projects/gitlab.com/gitlab-org/gitlab-development-kit/tmp/praefect/gitaly-0: listen unix /Users/a19502986/projects/gitlab.com/gitlab-org/gitlab-development-kit/tmp/praefect/gitaly-0/test-7c30b076.sock: bind: invalid argument"
Решение:
Переименуйте/переместите директорию, чтобы длина пути socket составляла меньше 104 символов.
Переконфигурируйте GDK для определения директории:
mv gitlab-development-kit/ gdk/ cd gdk/ go clean -cache gdk reconfigure
В этом случае также может помочь удаление директории gitaly и обновление GDK:
go clean -cache
rm -rf gitaly/
gdk update
Обсуждение похожей проблемы: Gitaly can't start.
При установке Gitlab командой gdk install отображается ошибка#
Ошибка:
Error downloading object: spec/fixtures/git-cheat-sheet.pdf (35967a2): Smudge error: Error downloading spec/fixtures/git-cheat-sheet.pdf (35967a21e5d856eaea89d2e5dd55a5e3b5f4e1e4efe3b000ef6d60b31600f1d2): batch response: Post https://10.27.0.4/RELS/gitlab-pv.git/info/lfs/objects/batch: x509: certificate signed by unknown authority
Решение:
Установите переменную окружения перед выполнением команды:
export GIT_SSL_NO_VERIFY=1
Ошибка с получением сертификатов при установке gdk#
Проблема:
В системе Windows с установленным Zscaler может появляться ошибка с получением сертификатов при установке gdk (этап с командой make).
Решение:
Деактивируйте Zscaler на время установки.
При установке GitLab командой gdk install выдаётся ошибка#
Ошибка:
Ruby version 2.7.4 detected, please install Ruby version 2.7.5 or higher
Решение:
Убедитесь, что в файле .tool-versions в директории gdk требуемая версия указана в списке первой:
ruby 2.7.4 3.0.2
Пропала подсветка в консоли и не доступна команда gdk#
ОС: WSL (Ubuntu 20.04 LTS)
Проблема:
После перезагрузки консоли для работы в окружении WSL пропала подсветка в консоли и не доступна команда gdk:

Решение:
Если ранее была установлена переменная окружения FOSS_ONLY в файле ~/.bash_profile, установите переменную в файле ~/.bashrc.
Для исправления проблемы удалите прошлый файл, если там прописана только FOSS_ONLY, и пропишите эту переменную в ~/.bashrc.
# Удалить прошлую вставку переменной FOSS_ONLY
rm ~/.bash_profile
# Добавить в другой файл переменную FOSS_ONLY
echo -e "\nexport FOSS_ONLY=1" >> ~/.bashrc
WSL потребляет много оперативной памяти#
ОС: WSL (Ubuntu 20.04 LTS)
Решение:
Создайте файл %UserProfile%\.wslconfig со следующим содержимым (можно отрегулировать выделение памяти и по-другому) и перезагрузите WSL:
[wsl2]
memory=16GB
swap=8GB
После запуска команды make bootstrap (для установки GDK) отображается ошибка#
ОС: WSL (Ubuntu 20.04 LTS)
Ошибка:
asdf library 'uuid' is required for E2FS UUID
Решение:
Установите ненайденную библиотеку командой sudo apt install uuid-dev.
При установке GitLab возникает ошибка при попытке скачать файл из Git LFS#
ОС: WSL (Ubuntu 20.04 LTS)
Ошибка:
certificate signed by unknown authority
Решение:
Установите переменную окружения export GIT_SSL_NO_VERIFY=1 для отключения проверки сертификатов.