Gitlab Community Edition — это приложение с открытым исходным кодом, которое позволяет разработчику или команде управлять своим проектом на своих собственных серверах, это альтернатива GitHub. Gitlab Community Edition предназначен для размещения на нашей собственной инфраструктуре и обеспечивает гибкость в развертывании в качестве внутреннего хранилища репозитория для вашей команде разработчиков, открытый способ взаимодействия с пользователями или средства участников для размещения своих собственных проектов. GitLab также предоставляет нашим командам единое хранилище данных, один пользовательский интерфейс и одну модель разрешений по всему жизненному циклу DevOps, позволяющую командам сотрудничать, что значительно сократит время цикла и сосредоточится исключительно на быстром создании отличного программного обеспечения. В этой статье мы покажем вам Как установить GitLab на Debian 9. GitLab будет использовать некоторые порты на вашем сервере, поэтому мы рекомендуем Вам установить его на новый сервер, чтобы избежать конфликта с существующими приложениями.
Необходимые компоненты
- Свежий установленный сервер Debian 9
- Пользователь sudoer в системе
- 8 ГБ памяти или выше
Дополнительные сведения о требованиях к оборудованию см. по этой ссылке https://docs.gitlab.com/ce/install/requirements.html
Войдите на сервер через SSH:
# SSH root@server_ip
Перед началом установки GitLab рекомендуется проверить, что база данных нашего системного пакета является актуальной.
Обновление системы
# apt update # apt upgrade
Теперь убедитесь, что мы не запускаем веб-сервер на порту 80, потому что GitLab установит nginx на этот порт и включит его при загрузке
# systemctl stop apache2 # systemctl disable apache2
Создание системного пользователя
# adduser gituser
# usermod-aG sudo gituser
Запустите установку GitLab
Чтобы начать установку, нам нужно переключиться на обычного пользователя, которого мы создали ранее
# su gituser $ cd $ sudo apt install ca-certificates curl
Добавьте репозиторий пакетов GitLab
В этом уроке мы установим GITLAB CE (Community Edition), и мы должны добавить репозиторий пакетов, чтобы продолжить установку.
$ sudo curl-LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
$ sudo bash script.deb.sh
После добавления репозитория, выполните следующую команду для установки GitLab Community Edition на Debian 9
$ sudo apt install gitlab-ce
Далее нам нужно отредактировать файл gitlab.rb, найдите строку external_url и измените ее на свой IP-адрес сервера или домен, который вы хотите использовать для доступа к GitLab.
$ sudo nano /etc/gitlab/gitlab.rb
$ sudo gitlab-ctl reconfigure
Установка займет несколько минут, она автоматически настроит и установит веб-сервер nginx для запуска GitLab по указанному URL.
После завершения, перейдите к IP-адресу сервера или доменному имени, которое вы ранее указали в файле external_url в /etc/gitlab/gitlab.rg, в веб-браузере вам нужно будет создать новый пароль.
После создания, вы можете войти в свою серверную часть GitLab, используя пользователя «root» и новый пароль, который вы создали ранее. Вы можете изменить это имя пользователя «root» в настройках-учетная запись.
gitlab-ctl — это утилита командной строки, которую вы можете использовать для управления GitLab. Например, можно запустить/остановить ее с помощью следующих команд:
$ sudo gitlab-ctl start
$ sudo gitlab-ctl stop
Дополнительная конфигурация для приложения электронной почты:
По умолчанию GitLab будет использовать sendmail для отправки писем из приложения. Если вы предпочитаете отправлять электронную почту приложения через SMTP-сервер, а не через Sendmail, добавьте следующую информацию о конфигурации в /etc/gitlab/gitlab.rb.
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "мой.email-адрес@gmail.com" gitlab_rails['smtp_password'] = "мой-gmail-пароль" gitlab_rails['smtp_domain'] = "smtp.gmail.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = false gitlab_rails['smtp_openssl_verify_mode'] = 'peer' # Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert', see http://api.rubyonrails.org/classes/ActionMailer/Base.html
После редактирования можно выполнить следующую команду:
$ sudo gitlab-ctl reconfigure
Как создать резервную копию GitLab в Debian 9
Резервная копия данных по умолчанию будет храниться в каталоге /var/opt/gitlab/backups. Вы можете изменить этот путь в файле /etc/gitlab/gitlab.rb. Если вы внесли изменения в конфигурацию резервного копирования, не забудьте выполнить следующую команду для создания резервной копии.
$ sudo gitlab-rake gitlab:backup:create
Вы также можете добавить ту же команду в задание cron для резервного копирования данных.
0 3 * * 2-6 sudo gitlab-rake gitlab:backup:create
Вот и все, GitLab успешно установлен и запущен на вашем сервере Debian 9, вы и ваша команда можете начать работать с ним прямо сейчас.