Установка gitlab на gentoo

Я пытаюсь установить gitlab на свой сервер gentoo, используя это неофициальное руководство: https://github.com/cvut/gentoo-overlay/wiki/Installation-guide-for-GitLab-6.x

Я столкнулся с 2 проблемами:

  1. Если я переключусь на рекомендуемый в учебнике ruby20 (используя eselect), я вообще не смогу установить пакет (я создал проблему, см. здесь: https://github.com/cvut/gentoo-overlay/Issues/6). Похоже, dev-ruby/bundler не имеет флага ruby_targets_ruby20
  2. Если я переключусь на ruby19, все будет хорошо, пока я не запущу

    эмерджент --config "=www-apps/gitlabhq-6.0.2-r1"

Когда я запускаю эту команду, скрипт ebuild по какой-то причине пытается использовать ruby ​​20 вместо ruby19 (я создал проблему, см. здесь: https://github.com/cvut/gentoo-overlay/issues/5)


person wildsurfer    schedule 08.10.2013    source источник


Ответы (2)


Я нашел обходной путь для этой проблемы. Я временно переместил /usr/bin/ruby19 в /usr/bin/ruby20. Конфигурация прошла нормально. Затем я откатил /usr/bin/ruby20 до исходной версии.

# cp /usr/bin/ruby20 /usr/bin/ruby20.bak
# cp /usr/bin/ruby19 /usr/bin/ruby20
# emerge --config "=www-apps/gitlabhq-6.0.2-r1"
# rm /usr/bin/ruby20
# cp /usr/bin/ruby20.bak /usr/bin/ruby20
person wildsurfer    schedule 09.10.2013

Мой общий опыт работы с Ruby на Gentoo (пока что мой любимый дистрибутив) был в первую очередь разочарованием. Почти каждый раз, когда обновление системы (через emerge -auDN --with-bdeps=y @world) завершается сбоем из-за конфликтов, обычно это происходит из-за конфликтующих пакетов и зависимостей Ruby. Кроме того, сама операционная среда GitLab довольно сложна.

Я запускаю пару серверов GitLab, и я делаю это, используя предоставленный GitLab образ Docker, что на удивление безболезненно.

Обновление так же просто, как повторное извлечение тега latest образа gitlab. Это команда докера, которую я запускаю:

docker pull gitlab/gitlab-ce:latest
docker run --detach \
           --hostname localhost \
           --publish 0.0.0.0:7080:80 --publish 0.0.0.0:7022:22 \
           --name gitlab \
           --restart always \
           --volume /srv/gitlab/config:/etc/gitlab \
           --volume /srv/gitlab/logs:/var/log/gitlab \
           --volume /srv/gitlab/data:/var/opt/gitlab \
           gitlab/gitlab-ce:latest

Таким образом, задача сводится к установке Docker на Gentoo, что намного проще, чем Ruby.

За тот год, когда я запускал производственный сервер GitLab с помощью docker, у меня было две проблемы, обе из которых я решил с помощью одной команды docker restart gitlab. Именно для таких вещей был создан докер. Я бы рекомендовал воспользоваться этим.

person Jason Swails    schedule 26.04.2019