Установка и настройка GitLab в Ubuntu 16.04

Published by Amber 2 CommentsGitLab CE (Community Edition) – это приложение с открытым исходным кодом, предназначенное для хранения репозиториев Git, которое также предоставляет функции разработки. Вы можете разместить это приложение в своей собственной инфраструктуре. GitLab обеспечивает гибкость при развертывании внутреннего хранилища для команды разработчиков, а также позволяет другим пользователям (например, сторонним участникам разработки) публиковать свои собственные проекты.

Приложение GitLab легко установить и настроить на своей машине. Данное руководство поможет вам в этом.

Требования
Свежий сервер Ubuntu 16.04.
2 ядра, 2GB RAM минимум (согласно требованиям GitLab к аппаратному обеспечению). Использовать своп-пространство не рекомендуется.
Пользователь с доступом к sudo (настроить такого пользователя поможет это руководство).
Установка зависимостей
Сначала нужно установить программы, которые обеспечат корректную работу приложения GitLab. Все они находятся в официальном репозитории Ubuntu.

Обновите индекс пакетов и установите зависимости приложения:

sudo apt-get update
sudo apt-get install ca-certificates curl openssh-server postfix

Возможно, некоторые из этих программ вы установили ранее. При установке postfix выберите Internet Site. На следующем экране введите домен или IP сервера, чтобы система могла отправлять извещения.

Установка GitLab
Процесс установки GitLab очень прост. Для этого можно использовать загрузочный сценарий.

Перейдите в каталог /tmp и загрузите в него сценарий.

cd /tmp

curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh

При желании вы можете ознакомиться с содержимым сценария (также его можно найти по этой ссылке).

less /tmp/script.deb.sh

Убедившись, что сценарий не выполнит никаких лишних действий, можете запустить его:

sudo bash /tmp/script.deb.sh

Сценарий подготовит сервер к поддержке репозиториев GitLab. Благодаря этому вы сможете управлять пакетами GitLab с помощью стандартных инструментов управления пакетами, предлагаемых операционной системой. Теперь можно установить приложение GitLab:

sudo apt-get install gitlab-ce

Эта команда установит все необходимые компоненты. Прежде чем запустить приложение, нужно выполнить команду для начальной конфигурации:

sudo gitlab-ctl reconfigure

Эта команда автоматически соберёт данные о вашем сервере и запустит GitLab с учётом полученной информации.

Настройка брандмауэра
После установки GitLab нужно открыть порт для приложения в брандмауэре (если вы следовали руководству по начальной настройке сервера, вы заблокировали порты с помощью ufw).

Просмотрите текущее состояние брандмауэра:

sudo ufw status

Status: active

To                         Action      From

—                         ——      —-

OpenSSH                    ALLOW       Anywhere

OpenSSH (v6)               ALLOW       Anywhere (v6)

На данный момент брандмауэр не блокирует только SSH. Чтобы открыть приложение GitLab, нужно настроить трафик HTTP.

Для этого достаточно добавить HTTP в список поддерживаемых протоколов брандмауэра.

Примечание: Если ранее вы по какой-то причине не добавили в этот список OpenSSH, сделайте это сейчас.

sudo ufw allow http

sudo ufw allow OpenSSH
Снова проверьте состояние ufw.

sudo ufw status

Status: active

To                         Action      From

—                         ——      —-

OpenSSH                    ALLOW       Anywhere

80                         ALLOW       Anywhere

OpenSSH (v6)               ALLOW       Anywhere (v6)

80 (v6)                    ALLOW       Anywhere (v6)

Теперь у вас есть доступ к веб-интерфейсу GitLab.

Настройка GitLab с помощью веб-интерфейса
Чтобы получить доступ к интерфейсу GitLab, перейдите по ссылке:

http://gitlab_domain_or_IP

На экране появится приветственная страница, которая предложит выбрать пароль администратора.

Выберите и подтвердите надёжный пароль и нажмите Change your password.

После этого появится форма аутентификации. Введите свои учётные данные:

Username: root
Password: вы выбрали его только что
Нажмите Sign in. На экране появится посадочная страница, которая предложит вам добавить новые проекты.

Теперь можно внести поправки в настройки GitLab.

Настройка профиля
Добавьте новые данные в свой профиль. При установке GitLab заполняет профиль данными по умолчанию, которые рекомендуется изменить.

Чтобы отредактировать профиль, кликните на иконку пользователя в правом верхнем углу интерфейса. В выпадающем меню выберите Profile Settings. Вы попадёте в раздел настроек Profile, где вы сможете выбрать новую аватарку, указать имя, адрес электронной почты и т.п.

По умолчанию приложение использует в полях Name и Email такие значения:

Name

Administrator

Email

[email protected]

Замените их своими данными. Выбранное вами имя будут видеть другие пользователи, а электронная почта будет использоваться уведомлений, извещений интерфейса Git и т.д.

На предоставленный адрес электронной почты вы получите письмо с подтверждением. Следуйте инструкциям письма, чтобы подтвердить свой аккаунт и начать работу в GitLab.

Изменение имени пользователя
В верхнем меню выберите Account.

Здесь вы найдете закрытый токен API. Также здесь можно настроить двухфакторную аутентификацию и изменить имя пользователя, которое вы указываете при входе в аккаунт. Для этого выберите раздел Change username.

По умолчанию аккаунт администратора использует имя root. Очевидно, что такое имя очень часто используется, а потому оно небезопасно и его нужно сразу изменить.

Примечание: Конечно, после изменения имени у вас останутся все права.

Выберите уникальное имя и нажмите кнопку Update username.

Теперь при входе в аккаунт GitLab используйте это имя пользователя вместо root

Добавление SSH-ключа
В большинстве случаев для взаимодействия между Git и GitLab используются SSH-ключи. Добавьте открытый ключ SSH в аккаунт GitLab.

Если у вас уже есть пара ключей SSH на локальной машине, вы можете просмотреть их:

cat ~/.ssh/id_rsa.pub

Команда вернёт объемный результат:

ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5
8host@mydesktop

Скопируйте этот ключ и вернитесь в настройки профиля.

Если же команда cat вернула следующее сообщение:

cat: /home/8host/.ssh/id_rsa.pub: No such file or directory

у вас нет SSH-ключей. Чтобы создать такую пару ключей, введите:

ssh-keygen

Примите стандартные параметры и выберите надёжный пароль, который защитит ключи.

Generating public/private rsa key pair.

Enter file in which to save the key (/home/8host/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/8host/.ssh/id_rsa.

Your public key has been saved in /home/8host/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:I8v5/M5xOicZRZq/XRcSBNxTQV2BZszjlWaIHi5chc0 [email protected]

The key’s randomart image is:

+—[RSA 2048]—-+

|          ..%o==B|

|           *.E =.|

|        . ++= B  |

|         ooo.o . |

|      . S .o  . .|

|     . + .. .   o|

|      +   .o.o ..|

|       o .++o .  |

|        oo=+     |

+—-[SHA256]——+

Просмотрите открытый ключ:

cat ~/.ssh/id_rsa.pub

ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5
8host@mydesktop

Скопируйте ключ и вернитесь в настройки профиля GitLab. Откройте меню SSH Keys.

В предложенное поле введите скопированный открытый ключ, выберите для него описательное название и нажмите Add key.

Теперь вы можете управлять проектами и репозиториями GitLab с локальной машины, не предоставляя при этом учётных данных GitLab.

Ограничение или блокировка открытой регистрации (опционально)
На данный момент посадочная страница вашего экземпляра GitLab позволяет любому пользователю пройти регистрацию и создать аккаунт. Это удобно, если вы разрабатываете общедоступные проекты и поощряете участие в разработке сторонних пользователей. Если же это закрытый проект, вы можете ограничить или совсем заблокировать возможность регистрироваться.  Для этого нажмите на значок гаечного ключа в правом верхнем углу.

На появившейся странице вы увидите обзор экземпляра GitLab. Для настройки параметров нажмите на значок шестеренки в правом верхнем углу и выберите в выпадающем меню пункт Settings.

Примечание: На момент написания руководства (сентябрь 2016) в GitLab присутствует баг, который влияет на видимость иконки настроек на узких экранах. Если вы не видите меню настроек, попытайтесь развернуть окно браузера на весь экран. Также можно обойти эту проблему, посетив страницу настроек GitLab:

http://gitlab_domain_or_IP/admin/application_settings

В глобальных настройках GitLab вы сможете изменить ряд параметров, в том числе и заблокировать возможность регистрации.

Блокировка регистрации
Чтобы полностью отключить такую возможность, откройте раздел Sign-up Restrictions. Уберите галочку в Sign-up enabled, а затем нажмите Save.

Форма регистрации исчезнет с посадочной страницы приложения.

Ограничение регистрации по домену
Если GitLab поддерживает адреса электронной почты, связанные с одним доменом, вы можете ограничить возможность регистрации на основе этого домена.

Откройте Sign-up Restrictions и поставьте галочку в Send confirmation email on sign-up. Это позволит пользователям регистрироваться только после проверки адреса электронной почты.

Затем добавьте домен (или домены) в белый список, поле Whitelisted domains for sign-ups. Каждый домен должен находиться в отдельной строке.

Whitelisted domains for sign-ups

example.com

*. example.com

Примечание: Символ * включает поддержку псевдонимов доменов.

Нажмите Save. Форма регистрации исчезнет с посадочной страницы приложения.

Ограничение возможности создавать проекты
По умолчанию любой новый пользователь может создать 10 проектов максимум. Если вы хотите привлечь к разработке проекта новых пользователей, но хотите ограничить их право создавать новые проекты,  откройте Account and Limit Settings.

Измените Default projects limit. Чтобы полностью отнять право на создание новых проектов, выберите значение 0.

Default projects limit 0

Вы сможете добавлять новых пользователей вручную, у них будет доступ к внутренним и внешним проектам. Сохраните новые настройки.

Новые пользователи смогут создавать аккаунты, однако не смогут добавлять новые проекты.

Заключение
Теперь у вас есть рабочий экземпляр GitLab. Вы можете переместить свои проекты и управлять доступом к ним.

Прежде чем продолжить разработку проектов, нужно защитить GitLab с помощью SSL-сертификата. Если вы не настроите SSL, ваши конфиденциальные данные могут быть перехвачены злоумышленниками. Создать SSL-сертификат для GitLab вам поможет это руководство.

 

 

Источник

Запись опубликована в рубрике *Ubuntu, *Unix,*Linux. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Я не спамер This plugin created by Alexei91