Введение
Gitlab — это прикладной инструмент для управления исходным кодом. Это лучшая альтернатива Github. Он также предоставляет возможность пользователям автономной версии. Вы можете просто установить сервер Gitlab и в полной мере воспользоваться его замечательными функциями. Это руководство поможет вам установить и настроить Gitlab (Community Edition) в ваших системах CentOS 8 Linux.
Предпосылки
- Только что установленная машина CentOS 8.
- Завершите первоначальную настройку сервера CentOS 8.
- Имя домена/субдомена для Gitlab с DNS, указывающим на сервер.
Установите Gitlab на CentOS 8
Прежде всего, включите репозиторий Gitlab в вашей системе CentOS. Команда Gitlab предоставляет сценарий оболочки для настройки репозитория yum для систем Linux. Для этого выполните следующую команду:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
Теперь выполните следующую команду, чтобы установить Gitlab Community Edition:
sudo dnf installa gitlab-ce
Приведенная выше команда установит все необходимые приложения, включая веб-сервер Nginx, для запуска Gitlab в вашей системе.
Включить Let's Encrypt SSL
Gitlab имеет собственную функцию enbuild для настройки бесплатного SSL-сертификата Let's encrypt на сервере Gitlab. Вам просто нужно включить его в файле конфигурации.
Затем отредактируйте файл конфигурации, чтобы завершить настройку:
vim /etc/gitlab/gitlab.rb
Установите общедоступный URL-адрес для вашего сервера Gitlab:
external_url 'https://gitlab.noviello.it'
Вы также можете включить Let's encrypt ssl для своего Gitlab. Установщик автоматически сгенерирует ssl-сертификаты, настроенные для Gitlab:
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email protected]']
Кроме того, вы можете включить автоматическое обновление SSL-сертификата:
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 12
letsencrypt['auto_renew_minute'] = 30
letsencrypt['auto_renew_day_of_month'] = "*/7"
Перед включением Let's Encrypt вы должны указать домен/субдомен на IP-адрес сервера. Это необходимо для завершения проверки домена для выдачи SSL.
Настроить сервер Gitlab
Затем настройте сервер Gitlab с помощью следующей команды. Это позволит выполнить все необходимые установки и модификации для запуска Gitlab Community Edition в системе Ubuntu:
sudo gitlab-ctl reconfigure
Процесс установки займет некоторое время для завершения установки.
Настройте брандмауэр
Сначала в системах появилась необходимость разрешать порты HTTP (80) и HTTPS (443). Это позволит вам получить доступ к серверу Gitlab по сети. Используйте следующие команды, чтобы разрешить порты в firewalld:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
Затем выполните следующую команду, чтобы применить изменения:
sudo firewall-cmd --reload
Войдите в панель управления Gitlab.
Используйте доменное имя, настроенное с помощью Gitlab, для доступа к веб-интерфейсу. Впервые Gitlab попросит вас установить пароль администратора. Установите новый безопасный пароль для пользователя root: https://gitlab.noviello.it
После настройки пароля для корневой учетной записи Gitlab перейдите на экран входа в систему. Теперь войдите в систему с пользователем root
и указанным паролем:
Username: root
Password: above_configured_password
После успешного входа в систему вы получите доступ к панели управления вашего сервера Gitlab. Здесь вы можете приступить к созданию пользователей и новых репозиториев git.
Расписание резервного копирования данных Gitlab
Используйте следующую команду, чтобы создать полную резервную копию данных Gitlab. Местом резервного копирования по умолчанию будет /var/opt/gitlab/backups
. Вы можете изменить этот параметр в файле /etc/gitlab/gitlab.rb
:
sudo gitlab-rake gitlab:backup:create
Вы также можете добавить тот же планировщик команд для резервного копирования данных каждую ночь. Добавьте указанный ниже cron в системный crontab:
0 22 * * * sudo gitlab-rake gitlab:backup:create
Вывод
Вы успешно установили и настроили Gitlab Community Edition в своей системе CentOS 8.