Настройка системы контроля версий GitLab — различия между версиями
Admin (обсуждение | вклад) (Новая страница: «= Настройка системы контроля версий (GitLab) = == 1. Подготовка системы == * Войдите в систему п…») |
Admin (обсуждение | вклад) |
||
Строка 6: | Строка 6: | ||
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль. | * Убедитесь, что у вас есть доступ к серверу через SSH или консоль. | ||
− | == 2. Установка зависимостей | + | == 2. Установка зависимостей == |
=== Обновление системы === | === Обновление системы === | ||
1. Обновите систему: | 1. Обновите систему: | ||
− | < | + | <pre>sudo apt update</pre> |
2. Установите необходимые пакеты: | 2. Установите необходимые пакеты: | ||
− | < | + | <pre>sudo apt install -y curl wget ca-certificates gnupg lsb-release</pre> |
=== Установка Docker === | === Установка Docker === | ||
1. Установите Docker: | 1. Установите Docker: | ||
− | < | + | <pre>curl -fsSL https://get.docker.com -o get-docker.sh</pre> |
− | < | + | <pre>sudo sh get-docker.sh</pre> |
2. Добавьте пользователя в группу docker: | 2. Добавьте пользователя в группу docker: | ||
− | < | + | <pre>sudo usermod -aG docker $USER</pre> |
3. Запустите и включите Docker: | 3. Запустите и включите Docker: | ||
− | < | + | <pre>sudo systemctl start docker</pre> |
− | < | + | <pre>sudo systemctl enable docker</pre> |
4. Проверьте установку: | 4. Проверьте установку: | ||
− | < | + | <pre>docker --version</pre> |
=== Установка Docker Compose === | === Установка Docker Compose === | ||
1. Скачайте Docker Compose: | 1. Скачайте Docker Compose: | ||
− | < | + | <pre>sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose</pre> |
2. Установите права: | 2. Установите права: | ||
− | < | + | <pre>sudo chmod +x /usr/local/bin/docker-compose</pre> |
3. Проверьте установку: | 3. Проверьте установку: | ||
− | < | + | <pre>docker-compose --version</pre> |
− | == 3. Установка GitLab | + | == 3. Установка GitLab == |
=== Создание директорий === | === Создание директорий === | ||
1. Создайте директорию для GitLab: | 1. Создайте директорию для GitLab: | ||
− | < | + | <pre>sudo mkdir -p /srv/gitlab</pre> |
2. Создайте поддиректории: | 2. Создайте поддиректории: | ||
− | < | + | <pre>sudo mkdir -p /srv/gitlab/config</pre> |
− | < | + | <pre>sudo mkdir -p /srv/gitlab/logs</pre> |
− | < | + | <pre>sudo mkdir -p /srv/gitlab/data</pre> |
3. Установите права доступа: | 3. Установите права доступа: | ||
− | < | + | <pre>sudo chown -R 1000:1000 /srv/gitlab</pre> |
=== Создание Docker Compose файла === | === Создание Docker Compose файла === | ||
1. Создайте docker-compose.yml: | 1. Создайте docker-compose.yml: | ||
− | < | + | <pre>sudo nano /srv/gitlab/docker-compose.yml</pre> |
2. Добавьте конфигурацию: | 2. Добавьте конфигурацию: | ||
− | < | + | <pre>version: '3.8' |
services: | services: | ||
Строка 91: | Строка 91: | ||
- '/srv/gitlab/data:/var/opt/gitlab' | - '/srv/gitlab/data:/var/opt/gitlab' | ||
shm_size: '256m' | shm_size: '256m' | ||
− | </ | + | </pre> |
=== Запуск GitLab === | === Запуск GitLab === | ||
1. Перейдите в директорию GitLab: | 1. Перейдите в директорию GitLab: | ||
− | < | + | <pre>cd /srv/gitlab</pre> |
2. Запустите GitLab: | 2. Запустите GitLab: | ||
− | < | + | <pre>sudo docker-compose up -d</pre> |
3. Проверьте статус: | 3. Проверьте статус: | ||
− | < | + | <pre>sudo docker-compose ps</pre> |
4. Просмотр логов: | 4. Просмотр логов: | ||
− | < | + | <pre>sudo docker-compose logs -f gitlab</pre> |
− | == 4. Первоначальная настройка | + | == 4. Первоначальная настройка == |
=== Ожидание запуска === | === Ожидание запуска === | ||
Строка 113: | Строка 113: | ||
1. GitLab может занять несколько минут для полного запуска | 1. GitLab может занять несколько минут для полного запуска | ||
2. Проверьте статус: | 2. Проверьте статус: | ||
− | < | + | <pre>sudo docker-compose logs gitlab | grep "Puma starting"</pre> |
3. Дождитесь сообщения о готовности | 3. Дождитесь сообщения о готовности | ||
Строка 120: | Строка 120: | ||
1. Получите пароль root: | 1. Получите пароль root: | ||
− | < | + | <pre>sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password</pre> |
2. Сохраните пароль в безопасном месте | 2. Сохраните пароль в безопасном месте | ||
Строка 127: | Строка 127: | ||
1. Откройте браузер и перейдите по адресу: | 1. Откройте браузер и перейдите по адресу: | ||
− | < | + | <pre>http://your-server-ip</pre> |
2. Войдите с учетными данными: | 2. Войдите с учетными данными: | ||
Строка 135: | Строка 135: | ||
3. Смените пароль root в настройках | 3. Смените пароль root в настройках | ||
− | == 5. Настройка SSL | + | == 5. Настройка SSL == |
=== Установка Certbot === | === Установка Certbot === | ||
1. Установите Certbot: | 1. Установите Certbot: | ||
− | < | + | <pre>sudo apt install -y certbot</pre> |
2. Получите SSL сертификат: | 2. Получите SSL сертификат: | ||
− | < | + | <pre>sudo certbot certonly --standalone -d gitlab.example.com</pre> |
=== Настройка SSL в GitLab === | === Настройка SSL в GitLab === | ||
1. Отредактируйте конфигурацию GitLab: | 1. Отредактируйте конфигурацию GitLab: | ||
− | < | + | <pre>sudo nano /srv/gitlab/config/gitlab.rb</pre> |
2. Добавьте SSL настройки: | 2. Добавьте SSL настройки: | ||
− | < | + | <pre>external_url 'https://gitlab.example.com' |
nginx['redirect_http_to_https'] = true | nginx['redirect_http_to_https'] = true | ||
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.example.com/fullchain.pem" | nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.example.com/fullchain.pem" | ||
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.example.com/privkey.pem" | nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.example.com/privkey.pem" | ||
− | </ | + | </pre> |
3. Перезапустите GitLab: | 3. Перезапустите GitLab: | ||
− | < | + | <pre>sudo docker-compose restart</pre> |
− | == 6. Настройка резервного копирования | + | == 6. Настройка резервного копирования == |
=== Создание скрипта резервного копирования === | === Создание скрипта резервного копирования === | ||
1. Создайте скрипт резервного копирования: | 1. Создайте скрипт резервного копирования: | ||
− | < | + | <pre>sudo nano /usr/local/bin/gitlab-backup.sh</pre> |
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
− | < | + | <pre>\#!/bin/bash |
BACKUP_DIR="/backup/gitlab" | BACKUP_DIR="/backup/gitlab" | ||
DATE=$(date +%Y%m%d_%H%M%S) | DATE=$(date +%Y%m%d_%H%M%S) | ||
− | # Создание директории для бэкапа | + | \# Создание директории для бэкапа |
mkdir -p $BACKUP_DIR | mkdir -p $BACKUP_DIR | ||
− | # Создание резервной копии GitLab | + | \# Создание резервной копии GitLab |
sudo docker exec gitlab gitlab-backup create | sudo docker exec gitlab gitlab-backup create | ||
− | # Копирование резервной копии | + | \# Копирование резервной копии |
sudo cp /srv/gitlab/data/backups/* $BACKUP_DIR/ | sudo cp /srv/gitlab/data/backups/* $BACKUP_DIR/ | ||
− | # Сжатие архива | + | \# Сжатие архива |
tar -czf $BACKUP_DIR/gitlab-backup-$DATE.tar.gz -C $BACKUP_DIR . | tar -czf $BACKUP_DIR/gitlab-backup-$DATE.tar.gz -C $BACKUP_DIR . | ||
− | # Удаление несжатых файлов | + | \# Удаление несжатых файлов |
rm -f $BACKUP_DIR/*.tar | rm -f $BACKUP_DIR/*.tar | ||
− | # Удаление старых бэкапов (старше 7 дней) | + | \# Удаление старых бэкапов (старше 7 дней) |
find $BACKUP_DIR -name "gitlab-backup-*.tar.gz" -mtime +7 -delete | find $BACKUP_DIR -name "gitlab-backup-*.tar.gz" -mtime +7 -delete | ||
echo "GitLab backup completed: $DATE" | echo "GitLab backup completed: $DATE" | ||
− | </ | + | </pre> |
3. Сделайте скрипт исполняемым: | 3. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>sudo chmod +x /usr/local/bin/gitlab-backup.sh</pre> |
=== Настройка автоматического резервного копирования === | === Настройка автоматического резервного копирования === | ||
1. Добавьте задачу в crontab: | 1. Добавьте задачу в crontab: | ||
− | < | + | <pre>sudo crontab -e</pre> |
2. Добавьте строку: | 2. Добавьте строку: | ||
− | < | + | <pre>0 2 * * * /usr/local/bin/gitlab-backup.sh</pre> |
− | == 7. Настройка пользователей и групп | + | == 7. Настройка пользователей и групп == |
=== Создание пользователей === | === Создание пользователей === | ||
Строка 231: | Строка 231: | ||
* Настройте роли участников | * Настройте роли участников | ||
− | == 8. Настройка проектов | + | == 8. Настройка проектов == |
=== Создание проекта === | === Создание проекта === | ||
Строка 248: | Строка 248: | ||
1. Создайте .gitlab-ci.yml файл: | 1. Создайте .gitlab-ci.yml файл: | ||
− | < | + | <pre>nano .gitlab-ci.yml</pre> |
2. Добавьте базовую конфигурацию: | 2. Добавьте базовую конфигурацию: | ||
− | < | + | <pre>stages: |
- build | - build | ||
- test | - test | ||
Строка 275: | Строка 275: | ||
only: | only: | ||
- master | - master | ||
− | </ | + | </pre> |
− | == 9. Настройка интеграций | + | == 9. Настройка интеграций == |
=== Настройка уведомлений === | === Настройка уведомлений === | ||
Строка 294: | Строка 294: | ||
1. В Admin Area → Settings → General: | 1. В Admin Area → Settings → General: | ||
− | < | + | <pre>ldap: |
enabled: true | enabled: true | ||
servers: | servers: | ||
Строка 310: | Строка 310: | ||
base: 'OU=Users,DC=example,DC=com' | base: 'OU=Users,DC=example,DC=com' | ||
user_filter: '' | user_filter: '' | ||
− | </ | + | </pre> |
− | == 10. Мониторинг и обслуживание | + | == 10. Мониторинг и обслуживание == |
=== Мониторинг производительности === | === Мониторинг производительности === | ||
Строка 329: | Строка 329: | ||
1. Остановите GitLab: | 1. Остановите GitLab: | ||
− | < | + | <pre>sudo docker-compose down</pre> |
2. Обновите образ: | 2. Обновите образ: | ||
− | < | + | <pre>sudo docker-compose pull</pre> |
3. Запустите GitLab: | 3. Запустите GitLab: | ||
− | < | + | <pre>sudo docker-compose up -d</pre> |
4. Проверьте статус: | 4. Проверьте статус: | ||
− | < | + | <pre>sudo docker-compose ps</pre> |
− | == 11. Настройка файрвола | + | == 11. Настройка файрвола == |
=== Настройка UFW === | === Настройка UFW === | ||
1. Разрешите необходимые порты: | 1. Разрешите необходимые порты: | ||
− | < | + | <pre>sudo ufw allow 80/tcp</pre> |
− | < | + | <pre>sudo ufw allow 443/tcp</pre> |
− | < | + | <pre>sudo ufw allow 2224/tcp</pre> |
2. Проверьте статус: | 2. Проверьте статус: | ||
− | < | + | <pre>sudo ufw status</pre> |
=== Настройка iptables === | === Настройка iptables === | ||
1. Разрешите порты через iptables: | 1. Разрешите порты через iptables: | ||
− | < | + | <pre>sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT</pre> |
− | < | + | <pre>sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT</pre> |
− | < | + | <pre>sudo iptables -A INPUT -p tcp --dport 2224 -j ACCEPT</pre> |
2. Сохраните правила: | 2. Сохраните правила: | ||
− | < | + | <pre>sudo iptables-save > /etc/iptables/rules.v4</pre> |
− | == 12. Устранение неполадок | + | == 12. Устранение неполадок == |
=== Частые проблемы === | === Частые проблемы === | ||
1. '''GitLab не запускается''': | 1. '''GitLab не запускается''': | ||
− | * Проверьте логи: < | + | * Проверьте логи: <pre>sudo docker-compose logs gitlab</pre> |
* Проверьте доступное место на диске | * Проверьте доступное место на диске | ||
* Проверьте права доступа к директориям | * Проверьте права доступа к директориям | ||
Строка 384: | Строка 384: | ||
1. '''Проверка статуса контейнера''': | 1. '''Проверка статуса контейнера''': | ||
− | < | + | <pre>sudo docker-compose ps</pre> |
2. '''Проверка логов''': | 2. '''Проверка логов''': | ||
− | < | + | <pre>sudo docker-compose logs gitlab</pre> |
3. '''Проверка использования ресурсов''': | 3. '''Проверка использования ресурсов''': | ||
− | < | + | <pre>sudo docker stats gitlab</pre> |
4. '''Проверка подключения''': | 4. '''Проверка подключения''': | ||
− | < | + | <pre>curl -I http://your-server-ip</pre> |
== Заключение == | == Заключение == |
Текущая версия на 10:39, 15 октября 2025
Содержание
- 1 Настройка системы контроля версий (GitLab)
- 1.1 1. Подготовка системы
- 1.2 2. Установка зависимостей
- 1.3 3. Установка GitLab
- 1.4 4. Первоначальная настройка
- 1.5 5. Настройка SSL
- 1.6 6. Настройка резервного копирования
- 1.7 7. Настройка пользователей и групп
- 1.8 8. Настройка проектов
- 1.9 9. Настройка интеграций
- 1.10 10. Мониторинг и обслуживание
- 1.11 11. Настройка файрвола
- 1.12 12. Устранение неполадок
- 1.13 Заключение
Настройка системы контроля версий (GitLab)
1. Подготовка системы
- Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
- Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
2. Установка зависимостей
Обновление системы
1. Обновите систему:
sudo apt update
2. Установите необходимые пакеты:
sudo apt install -y curl wget ca-certificates gnupg lsb-release
Установка Docker
1. Установите Docker:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
2. Добавьте пользователя в группу docker:
sudo usermod -aG docker $USER
3. Запустите и включите Docker:
sudo systemctl start docker
sudo systemctl enable docker
4. Проверьте установку:
docker --version
Установка Docker Compose
1. Скачайте Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2. Установите права:
sudo chmod +x /usr/local/bin/docker-compose
3. Проверьте установку:
docker-compose --version
3. Установка GitLab
Создание директорий
1. Создайте директорию для GitLab:
sudo mkdir -p /srv/gitlab
2. Создайте поддиректории:
sudo mkdir -p /srv/gitlab/config
sudo mkdir -p /srv/gitlab/logs
sudo mkdir -p /srv/gitlab/data
3. Установите права доступа:
sudo chown -R 1000:1000 /srv/gitlab
Создание Docker Compose файла
1. Создайте docker-compose.yml:
sudo nano /srv/gitlab/docker-compose.yml
2. Добавьте конфигурацию:
version: '3.8' services: gitlab: image: gitlab/gitlab-ce:latest container_name: gitlab restart: always hostname: 'gitlab.example.com' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'https://gitlab.example.com' gitlab_rails['gitlab_shell_ssh_port'] = 2224 nginx['listen_port'] = 80 nginx['listen_https'] = false nginx['proxy_set_headers'] = { "X-Forwarded-Proto" => "https", "X-Forwarded-Ssl" => "on" } ports: - '80:80' - '443:443' - '2224:22' volumes: - '/srv/gitlab/config:/etc/gitlab' - '/srv/gitlab/logs:/var/log/gitlab' - '/srv/gitlab/data:/var/opt/gitlab' shm_size: '256m'
Запуск GitLab
1. Перейдите в директорию GitLab:
cd /srv/gitlab
2. Запустите GitLab:
sudo docker-compose up -d
3. Проверьте статус:
sudo docker-compose ps
4. Просмотр логов:
sudo docker-compose logs -f gitlab
4. Первоначальная настройка
Ожидание запуска
1. GitLab может занять несколько минут для полного запуска 2. Проверьте статус:
sudo docker-compose logs gitlab | grep "Puma starting"
3. Дождитесь сообщения о готовности
Получение пароля root
1. Получите пароль root:
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
2. Сохраните пароль в безопасном месте
Первый вход
1. Откройте браузер и перейдите по адресу:
http://your-server-ip
2. Войдите с учетными данными:
- Username: root
- Password: [пароль из предыдущего шага]
3. Смените пароль root в настройках
5. Настройка SSL
Установка Certbot
1. Установите Certbot:
sudo apt install -y certbot
2. Получите SSL сертификат:
sudo certbot certonly --standalone -d gitlab.example.com
Настройка SSL в GitLab
1. Отредактируйте конфигурацию GitLab:
sudo nano /srv/gitlab/config/gitlab.rb
2. Добавьте SSL настройки:
external_url 'https://gitlab.example.com' nginx['redirect_http_to_https'] = true nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.example.com/fullchain.pem" nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.example.com/privkey.pem"
3. Перезапустите GitLab:
sudo docker-compose restart
6. Настройка резервного копирования
Создание скрипта резервного копирования
1. Создайте скрипт резервного копирования:
sudo nano /usr/local/bin/gitlab-backup.sh
2. Добавьте содержимое:
\#!/bin/bash BACKUP_DIR="/backup/gitlab" DATE=$(date +%Y%m%d_%H%M%S) \# Создание директории для бэкапа mkdir -p $BACKUP_DIR \# Создание резервной копии GitLab sudo docker exec gitlab gitlab-backup create \# Копирование резервной копии sudo cp /srv/gitlab/data/backups/* $BACKUP_DIR/ \# Сжатие архива tar -czf $BACKUP_DIR/gitlab-backup-$DATE.tar.gz -C $BACKUP_DIR . \# Удаление несжатых файлов rm -f $BACKUP_DIR/*.tar \# Удаление старых бэкапов (старше 7 дней) find $BACKUP_DIR -name "gitlab-backup-*.tar.gz" -mtime +7 -delete echo "GitLab backup completed: $DATE"
3. Сделайте скрипт исполняемым:
sudo chmod +x /usr/local/bin/gitlab-backup.sh
Настройка автоматического резервного копирования
1. Добавьте задачу в crontab:
sudo crontab -e
2. Добавьте строку:
0 2 * * * /usr/local/bin/gitlab-backup.sh
7. Настройка пользователей и групп
Создание пользователей
1. В веб-интерфейсе GitLab:
- Перейдите в Admin Area → Users
- Нажмите "New User"
- Заполните данные пользователя
2. Настройте права доступа:
- Выберите уровень доступа
- Настройте уведомления
- Активируйте пользователя
Создание групп
1. Создайте группу:
- Перейдите в Groups → New Group
- Заполните название и описание
- Настройте видимость группы
2. Добавьте участников:
- Перейдите в Members
- Добавьте пользователей
- Настройте роли участников
8. Настройка проектов
Создание проекта
1. Создайте новый проект:
- Нажмите "New Project"
- Выберите тип проекта
- Заполните данные проекта
2. Настройте репозиторий:
- Выберите видимость репозитория
- Настройте инициализацию
- Добавьте README файл
Настройка CI/CD
1. Создайте .gitlab-ci.yml файл:
nano .gitlab-ci.yml
2. Добавьте базовую конфигурацию:
stages: - build - test - deploy build: stage: build script: - echo "Building application" - make build test: stage: test script: - echo "Running tests" - make test deploy: stage: deploy script: - echo "Deploying application" - make deploy only: - master
9. Настройка интеграций
Настройка уведомлений
1. Настройте email уведомления:
- Перейдите в Admin Area → Settings → General
- Настройте SMTP сервер
- Протестируйте отправку
2. Настройте webhook:
- Перейдите в Project Settings → Integrations
- Добавьте URL webhook
- Настройте события
Настройка LDAP
1. В Admin Area → Settings → General:
ldap: enabled: true servers: main: label: 'LDAP' host: 'ldap.example.com' port: 389 uid: 'sAMAccountName' bind_dn: 'CN=GitLab,OU=Service Accounts,DC=example,DC=com' password: 'password' encryption: 'plain' active_directory: true allow_username_or_email_login: true block_auto_created_users: false base: 'OU=Users,DC=example,DC=com' user_filter: ''
10. Мониторинг и обслуживание
Мониторинг производительности
1. Просмотр статистики:
- Перейдите в Admin Area → Monitoring
- Просмотрите метрики системы
- Настройте алерты
2. Настройка логирования:
- Перейдите в Admin Area → Settings → General
- Настройте уровень логирования
- Настройте ротацию логов
Обновление GitLab
1. Остановите GitLab:
sudo docker-compose down
2. Обновите образ:
sudo docker-compose pull
3. Запустите GitLab:
sudo docker-compose up -d
4. Проверьте статус:
sudo docker-compose ps
11. Настройка файрвола
Настройка UFW
1. Разрешите необходимые порты:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 2224/tcp
2. Проверьте статус:
sudo ufw status
Настройка iptables
1. Разрешите порты через iptables:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 2224 -j ACCEPT
2. Сохраните правила:
sudo iptables-save > /etc/iptables/rules.v4
12. Устранение неполадок
Частые проблемы
1. GitLab не запускается:
- Проверьте логи:
sudo docker-compose logs gitlab
- Проверьте доступное место на диске
- Проверьте права доступа к директориям
2. Проблемы с подключением:
- Проверьте файрвол
- Проверьте DNS настройки
- Проверьте SSL сертификаты
3. Проблемы с производительностью:
- Увеличьте ресурсы контейнера
- Оптимизируйте настройки GitLab
- Проверьте использование диска
Диагностика
1. Проверка статуса контейнера:
sudo docker-compose ps
2. Проверка логов:
sudo docker-compose logs gitlab
3. Проверка использования ресурсов:
sudo docker stats gitlab
4. Проверка подключения:
curl -I http://your-server-ip
Заключение
GitLab успешно установлен и настроен! Теперь у вас есть полнофункциональная система контроля версий с возможностями CI/CD, управления проектами и командной работы.
Для размещения ваших GitLab серверов на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):
- [Выделенные серверы](https://ark-hoster.ru/dedicated/) - для высоконагруженных GitLab серверов
- [VPS/VDS серверы](https://ark-hoster.ru/vpsgame/) - для небольших и средних команд
Наши специалисты помогут с настройкой GitLab и оптимизацией производительности ваших систем контроля версий!