# Первичная настройка и начало работы Gitlab
Gitlab — один из стандартных сервисов для работы с системой контроля версий git. Он поддерживает все необходимые для разработки функции: управление частными и публичными репозиториями, анализ кода на наличие ошибок, управление правами пользователей и доступом к репозиториям. Также Gitlab может быть установлен на локальный сервер, на котором ведётся разработка, — это бывает полезно для организации приватного доступа к репозиторию или для более гибкой настройки прав доступа различных пользователей к проекту.
В этой инструкции мы расскажем, как настроить только что установленный Gitlab, и познакомимся с некоторыми базовыми функциями: управление правами доступа к проектам, создание и удаление новых проектов, резервное копирование и восстановление проекта из бэкапа, а также импорт и экспорт проектов из публичных репозиториев.
Нам понадобится подготовленный к работе сервер на Ubuntu или CentOS с предустановленным Gitlab.
# Начало работы
Первый вход в Gitlab осуществляется от имени root-пользователя. Задать пароль root-пользователя можно при первом входе в Gitlab на странице, которую вы указывали в качестве домашней в конфигурационном файле /etc/gitlab/gitlab.rb
.
Если при первом посещении страницы Gitlab не предлагает задать пароль root-пользователя, его можно задать вручную через консоль. Для этого нужно использовать gitlab-rake — менеджер заданий Gitlab:
sudo gitlab-rake "gitlab:password:reset"
Запущенная задача попросит указать имя пользователя — указываем root — и задать новый пароль для него. После этого можно заходить в Gitlab через браузер.
# Первичная настройка
Заданное по умолчанию имя пользователя root меняют редко, поэтому оно становится одним из потенциально уязвимых мест в безопасности нашего Gitlab. Сменим имя root-пользователя!
В разделе меню «User Settings» перейдём в раздел «Account», в поле «Change Username» укажем новое имя. Важно помнить, что при этом меняется только имя root-пользователя — все его права и привилегии остаются прежними.
Основная настройка профиля (указание имени, почтового адреса для обращений и для коммитов, ссылки на социальные сети и пр.) производится в том же разделе меню «User Settings», но на вкладке «Profile»:
# Создание и удаление проекта
Создать проект можно на главной странице Gitlab, нажав кнопку
или на плюсик около строки поиска:Здесь можно создать новый проект, выбрать шаблон для проекта или загрузить уже имеющийся из репозитория. Создадим пустой проект:
При создании проекта помимо стандартных опций вроде задания имени, описания проекта и создания слага проекта, есть возможность выбрать уровень доступа к проекту:
- частный — доступ будет только у вас;
- внутренний — доступ только для тех, у кого есть доступ на сайт;
- публичный — открытый доступ для всех пользователей сети.
Также при создании проекта поставим галочку в пункте Initialize repository with a README
— это позволит нам создать новый репозиторий, привязанный к нашему проекту. Первым файлом в репозитории станет README.txt
, в котором обычно хранится полное описание проекта.
Удалить проект можно в разделе меню SettingsGeneral. В нижней части раздела будет пункт Advanced
, при нажатии на кнопку развернётся окно с расширенным набором настроек, в котором будет пункт Delete this project
:
# Настройки доступа
Административные права в Gitlab позволяют гибко настраивать политику доступа в отношении каждого пользователя и проекта.
Чтобы настроить ограничения доступа, перейдите в административную область и в разделе Settings
переключитесь на вкладку General:
Здесь в пунктах Sign-up restrictions
и Sign-in restrictions
можно настроить ограничения пользователей как на создание новых аккаунтов, так и на доступ к определённым проектам:
Эти разделы позволяют настроить ограничение доступа к проектам пользователям с определённых IP-адресов, задавать надёжность пароля для новых пользователей, а также создавать списки разрешённых и запрещённых доменных имён, чьи пользователи смогут или не смогут зарегистрироваться.
Добавить нового пользователя к уже существующему проекту можно из окна управления самим проектом.
В разделе меню Project information выберите пункт Members
, затем из уже созданных пользователей выберите тех, кому хотите открыть доступ к проекту.
# Бэкап проекта
Создать резервную копию проекта можно двумя путями: через консоль SSH-подключения или через веб-интерфейс.
# Веб-интерфейс
Резервную копию проекта можно в любой момент выгрузить с помощью веб-интерфейса Gitlab в одном из предложенных форматов: zip, tar.gz, tar.bz2, tar. Для этого нужно зайти в проект и нажать на кнопку
на главной странице проекта:Полученную версию можно сохранить на локальной машине:
# Консоль
Чтобы создать бэкап своих проектов в консоли, сначала установите git:
# Centos 8
sudo dnf install git
#Ubuntu
sudo apt install git
После этого можно запустить менеджер команд Gitlab-rake:
sudo gitlab-rake gitlab:backup:create
После завершения работы команда выдаст предупреждение:
Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data
and are not included in this backup. You will need these files to restore a backup.
Please back them up manually.
Указанные файлы gitlab.rb
и gitlab-secrets.json
нужно сохранить вручную.
Адрес, по которому будут располагаться резервные копии, указывается в конфигурационном файле:
sudo vi /etc/gitlab/gitlab.rb
В открывшемся файле находим блок:
### Backup Settings
###! Docs: https://docs.gitlab.com/omnibus/settings/backups.html
# gitlab_rails['manage_backup_path'] = true
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
# gitlab_rails['backup_gitaly_backup_path'] = "/opt/gitlab/embedded/bin/gitaly-backup"
Как видим, по умолчанию резервные копии хранятся в /var/opt/gitlab/backups
. Если нужно больше места для их хранения, выделите для этого отдельное дисковое пространство и перепишите в конфигурационном файле путь к ним.
Важно: после изменения конфигурационного файла не забудьте обновить конфигурацию Gitlab:
sudo gitlab-ctl reconfigure