Настройка системы контроля версий GitLab — различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск
(Новая страница: «= Настройка системы контроля версий (GitLab) = == 1. Подготовка системы == * Войдите в систему п…»)
(нет различий)

Версия 08:34, 15 октября 2025

Содержание

Настройка системы контроля версий (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)

  1. Создание директории для бэкапа

mkdir -p $BACKUP_DIR

  1. Создание резервной копии GitLab

sudo docker exec gitlab gitlab-backup create

  1. Копирование резервной копии

sudo cp /srv/gitlab/data/backups/* $BACKUP_DIR/

  1. Сжатие архива

tar -czf $BACKUP_DIR/gitlab-backup-$DATE.tar.gz -C $BACKUP_DIR .

  1. Удаление несжатых файлов

rm -f $BACKUP_DIR/*.tar

  1. Удаление старых бэкапов (старше 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):

Наши специалисты помогут с настройкой GitLab и оптимизацией производительности ваших систем контроля версий!