GitLab - это программное обеспечение с открытым исходным кодом. С помощью GitLab пользователи могут легче управлять своими проектами с помощью функций, предназначенных для поддержки совместной разработки. GitLab обеспечивает удаленный доступ к репозиториям Git, включая хостинг кода, отслеживание ошибок, управление жизненным циклом разработки программного обеспечения и социальное кодирование. Благодаря преимуществу, которое объединяет команды разработки, операций и безопасности в одно приложение, GitLab теперь широко используется по всему миру. В этой статье мы покажем вам, как установить GitLab на Void Linux.

Предварительные условия

  • Сервер под управлением Void Linux.
  • Привилегии пользователя: пользователь root или не root с привилегиями sudo.

Конвенции

1
2
# - данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ - данные команды должны выполняться от имени обычного пользователя.

Обновите систему

Свежая установка Void Linux требует обновления пакетов до последних доступных версий.

1
sudo xbps-install -u xbps

После того, как xbps включен, запустите полное обновление системы.

1
sudo xbps-install -Syu

Система может нуждаться в перезагрузке после обновления.

1
sudo reboot -f

Установите Docker

Docker поставляется в официальных хранилищах Void, поэтому сторонние репозитории не нужны.

1
sudo xbps-install docker docker-compose

Включите и запустите Docker

Void Linux использует рунит вместо systemd. Здесь нет возможности systemctl enable. Чтобы включить и запустить услугу, вы создаете симлинк из /etc/sv/ в /var/service/. Рунит поднимает его в течение пяти секунд и автоматически запускает демон.

1
sudo ln -s /etc/sv/docker /var/service/docker

Дайте руниту минуту, затем проверьте статус сервиса:

1
sudo sv status docker

Вы должны увидеть службу, работающую с PID и временем безотказной работы:

1
run: docker: (pid 890) 7070s

Запустите Docker без Sudo

Запуск каждой команды Docker с помощью sudo быстро устаревает. Добавьте пользователя в группу docker для запуска контейнеров без привилегий root.

1
sudo usermod -aG docker $(whoami)

Применить членство в группе без выхода из системы:

1
newgrp docker

Подтвердите, что он работает, запуская контейнер без sudo:

1
docker run --rm alpine echo "Docker works without sudo"

Вы должны увидеть:

1
Docker works without sudo
Информация
Имейте в виду, что любой человек в группе docker имеет доступ к хосту на корневом уровне через контейнерные крепления. Добавьте только надежных пользователей.

Создание Docker Compose Files

Этот метод очень эффективен и прост в обслуживании. На предыдущем этапе мы настроили систему для запуска команд Docker без sudo.

На этом этапе мы установим GitLab с помощью метода Docker Compose.

Давайте создадим новый каталог проекта:

1
2
sudo mkdir -p /opt/gitlab/{config, logs, data}
sudo chown -R $(whoami): /opt/gitlab

Теперь давайте создадим docker-compose.yml в желаемом каталоге (например, /opt/gitlab):

1
2
cd /opt/gitlab
nano docker-compose.yml

Вставьте в файл следующую конфигурацию:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
services:
  web:
    image: 'gitlab/gitlab-ce:latest'
    container_name: 'gitlab'
    restart: always
    hostname: 'git.example.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://git.example.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
    ports:
      - '80:80'
      - '443:443'
      - '2222:22'
    volumes:
      - '/opt/gitlab/config:/etc/gitlab'
      - '/opt/gitlab/logs:/var/log/gitlab'
      - '/opt/gitlab/data:/var/opt/gitlab'
    shm_size: '256m'

Сохраните и закройте текстовый редактор.

Примечание
Замените git.example.com доменом, который вы уже настроили и указали на свой сервер.

Вот объяснение:

1
2
3
/opt/gitlab/config:/etc/gitlab: Этот том используется для сохранения данных конфигурации GitLab.
/opt/gitlab/logs:/var/log/gitlab: Этот том используется для сохранения данных журнала GitLab.
/opt/gitlab/data:/var/opt/gitlab: Этот том используется для сохранения данных приложения GitLab.
Примечание
Если у вас нет домена или поддомена, вы можете заменить значение hostname и external_url на IP-адрес вашего сервера.

Запустите контейнер GitLab

Теперь, когда все конфигурации готовы, мы можем запустить контейнер в фоновом режиме с одной командой.

1
docker compose up -d

Изображение начнет загружаться, и контейнер начнет работать. Пожалуйста, имейте в виду, что этот процесс может занять несколько минут. Вы можете следить за прогрессом с:

1
docker logs -f gitlab

Вы можете проверить состояние контейнера с помощью docker ps.

1
docker ps

Доступ к GitLab

Откройте веб-браузер и перейдите на настроенный внешний URL (например, https://git.example.com).

Вы можете войти как root с паролем в файле. Чтобы увидеть пароль, выполните команду ниже:

1
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

Он распечатает пароль:

1
Password: tV2bfuVerkgnqXAq6PpYA+35Y56PRyLZTCvsUgfi2jl=

После входа в систему вы будете перенаправлены на панель инструментов GitLab Admin.

На этом этапе вы можете начать настраивать и работать на своем веб-сайте GitLab.

Завершение

Мы завершили наше руководство по установке GitLab на Void Linux. Мы начали с подготовки сервера с необходимыми зависимостями, а затем приступили к установке и настройке.

Если вам понравился этот пост пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.