Как начать работать с Managed Service for GitLab
Чтобы начать работу с сервисом:
- Создайте инстанс.
- Настройте рабочее окружение.
- Добавьте SSH-ключи в GitLab.
- Начните работу с репозиторием.
Важно
Если вы начинаете работу с Managed Service for GitLab, чтобы перенести в него проекты из пользовательской инсталляции GitLab, обратитесь к инструкции.
Подробнее об отличиях Managed Service for GitLab от пользовательской инсталляции GitLab Community Edition читайте в разделе Преимущества сервиса перед пользовательской инсталляцией GitLab.
Перед началом работы
-
Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь, если вы еще не зарегистрированы. -
Если у вас еще нет каталога, создайте его:
-
В консоли управления
в списке слева выберите нужное облако. -
Справа сверху нажмите кнопку Создать каталог.
-
Введите имя каталога. Требования к имени:
- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
(Опционально) Введите описание каталога.
-
Выберите опцию Создать сеть по умолчанию. Будет создана сеть с подсетями в каждой зоне доступности. Также в этой сети будет создана группа безопасности по умолчанию, внутри которой весь сетевой трафик разрешен.
-
Нажмите кнопку Создать.
-
-
Назначьте вашему аккаунту в Yandex Cloud роль vpc.user и роль gitlab.editor или выше. Эти роли позволяют создать инстанс.
Примечание
Если вы не можете управлять ролями, обратитесь к администратору вашего облака или организации.
Создайте инстанс
Важно
После создания инстанса нельзя изменить его сетевую конфигурацию: зону доступности и подсеть.
-
В консоли управления выберите каталог, в котором нужно создать инстанс GitLab.
-
Выберите сервис Managed Service for GitLab.
-
Нажмите кнопку Создать инстанс.
-
В верхней части страницы:
-
Введите имя инстанса. Оно должно быть уникальным в рамках Yandex Cloud.
- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
(Опционально) Введите описание инстанса.
-
(Опционально) Добавьте метки для разделения инстансов на логические группы.
-
(Опционально) Установите защиту инстанса от случайного удаления пользователем.
-
-
В блоке Конфигурация:
-
Выберите тип инстанса. После создания инстанса можно изменить его тип на более производительный.
-
Укажите зону доступности. После создания инстанса изменить его зону доступности невозможно.
-
Укажите подсеть, в которой будет размещен инстанс. Технические ограничения Yandex Cloud временно не позволяют выбрать подсеть с диапазоном адресов
192.168.0.0/24. -
Выберите группу безопасности или создайте новую:
- Нажмите кнопку Создать группу.
- Введите имя и описание группы безопасности. Правила для группы безопасности вы сможете добавить позже в сервисе Virtual Private Cloud.
- Нажмите кнопку Создать.
Если не задать отдельную группу безопасности, будет использована группа безопасности по умолчанию, созданная в сети инстанса.
Настройте группу безопасности так, чтобы правила разрешали входящий и исходящий трафик с нужных портов и IP-адресов.
Важно
От настройки группы безопасности зависит работоспособность и доступность инстанса Managed Service for GitLab.
Если у вас возникли проблемы с настройкой группы безопасности, обратитесь в техническую поддержку
. -
Выберите размер диска. После создания инстанса размер его диска можно увеличить.
-
Укажите доменное имя инстанса — для него будут автоматически созданы нужные DNS-записи в домене
.gitlab.yandexcloud.net.Доменное имя должно быть уникальным в рамках Yandex Cloud.
- Длина — от 5 до 50 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый и последний символ — не дефис.
-
Задайте срок хранения автоматических резервных копий (в днях).
-
(Опционально) Включите правила ревью кода. Для этого выберите подходящую конфигурацию правил ревью.
Примечание
Выбранная конфигурация влияет на стоимость использования вычислительных ресурсов инстанса.
-
-
В блоке Данные администратора укажите:
- Электронная почта — адрес электронной почты администратора инстанса GitLab. На этот адрес придет письмо со ссылкой для создания пароля.
- Логин — логин администратора.
-
(Опционально) В блоке Дополнительные настройки включите удаление образов без тегов. Настройка влияет на свободное место на диске инстанса.
-
Нажмите кнопку Создать.
-
Дождитесь, когда инстанс будет готов к работе: его статус на панели Managed Service for GitLab сменится на Running. Это может занять некоторое время.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для создания инстанса Managed Service for GitLab:
yc managed-gitlab instance create --help -
Выберите подсеть:
yc vpc subnet listРезультат:
+----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+ | ID | NAME | NETWORK ID | ROUTE TABLE ID | ZONE | RANGE | +----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+ | e9bnlm18l70a******** | default-kz1-a | enpe3m3fa00u******** | | kz1-a | [10.128.0.0/24] | +----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+ -
Создайте инстанс GitLab (в примере приведены не все доступные параметры):
yc managed-gitlab instance create \ --name first-instance \ --resource-preset-id <класс_хостов> \ --disk-size <размер_диска_ГБ> \ --admin-login <логин администратора> \ --admin-email <электронная_почта_администратора> \ --domain-prefix <доменное_имя_инстанса> \ --deletion-protection \ --approval-rules <конфигурация_правил_ревью_кода> \ --subnet-id <идентификатор_подсети>Где:
-
--name— имя инстанса, уникальное в рамках Yandex Cloud. Требования к имени:- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
--resource-preset-id— класс хостов. Он определяет технические характеристики виртуальной машины, на которой будет развернут инстанс GitLab. Возможные значения:s2.micro— 2 vCPU, 8 ГБ RAM.s2.small— 4 vCPU, 16 ГБ RAM.s2.medium— 8 vCPU, 32 ГБ RAM.s2.large— 16 vCPU, 64 ГБ RAM.
-
--disk-size— размер диска в ГБ. -
--admin-login— логин администратора инстанса GitLab. -
--admin-email— адрес электронной почты администратора. На этот адрес придет письмо со ссылкой для создания пароля. -
--domain-prefix— доменное имя инстанса. Для него будут автоматически созданы нужные DNS-записи в домене.gitlab.yandexcloud.net.Доменное имя должно быть уникальным в рамках Yandex Cloud.
- Длина — от 5 до 50 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый и последний символ — не дефис.
-
--deletion-protection— защита инстанса от случайного удаления пользователем. -
--approval-rules— конфигурация правил ревью кода. Возможные значения:BASIC— базовая.STANDARD— стандартная.ADVANCED— продвинутая.
Примечание
Выбранная конфигурация влияет на стоимость использования вычислительных ресурсов инстанса.
-
--subnet-id— идентификатор выбранной подсети.
Результат:
id: c17c60tpadua******** folder_id: b1g2slt7p9ug******** created_at: "2025-07-20T18:34:16.078Z" updated_at: "2025-07-20T18:34:16.078Z" name: test-cli resource_preset_id: s2.small disk_size: "107374182400" status: RUNNING admin_login: admin-gl admin_email: user@example.com domain: test-domain-user.gitlab.yandexcloud.net subnet_id: e9b4rrpuu2a******** backup_retain_period_days: "7" deletion_protection: true approval_rules_id: BASIC gitlab_version: 17.11.6Подробнее о команде читайте в справочнике CLI.
-
Примечание
В Managed Service for GitLab при создании инстанса автоматически генерируется SSL-сертификат. Дополнительная настройка для работы по протоколу HTTPS не требуется.
Настройте рабочее окружение
-
Активируйте инстанс Managed Service for GitLab:
- Перейдите по ссылке, полученной на электронную почту администратора после создания инстанса.
- Измените пароль администратора.
- Авторизуйтесь с помощью логина и пароля администратора.
-
(Опционально) Создайте группу
, в которой будет размещен проект с репозиторием.Если есть несколько проектов, удобно объединять пользователей в группы. Это позволяет:
- предоставлять права в определенные проекты каждой группе;
- просматривать Issues и мерж-реквесты по группам;
- просматривать аналитику по активности группы.
Подробнее см. в документации GitLab
. -
Создайте пустой проект
, в котором будет размещен репозиторий. -
Создайте пользователей и добавьте их в группу или проект с ролью
MaintainerилиOwner.Добавить членов вашей команды в группу или проект можно, только создав для них аккаунты в GitLab.
Добавьте SSH-ключи в GitLab
-
Создайте пару из открытого и закрытого SSH-ключей для аккаунта в GitLab:
Linux/macOSWindows 10/11Windows 7/8-
Откройте терминал.
-
Создайте новый ключ с помощью команды
ssh-keygen:ssh-keygen -t ed25519 -C "<опциональный_комментарий>"Вы можете передать в параметре
-Cпустую строку, чтобы не добавлять комментарий, или не указывать параметр-Cвообще — в таком случае будет добавлен комментарий по умолчанию.После выполнения команды вам будет предложено указать имя и путь к файлам с ключами, а также ввести пароль для закрытого ключа. Если задать только имя, пара ключей будет создана в текущей директории. Открытый ключ будет сохранен в файле с расширением
.pub, закрытый ключ — в файле без расширения.По умолчанию команда предлагает сохранить ключ под именем
id_ed25519в директории/home/<имя_пользователя>/.ssh. Если в этой директории уже есть SSH-ключ с именемid_ed25519, вы можете случайно перезаписать его и потерять доступ к ресурсам, в которых он используется. Поэтому рекомендуется использовать уникальные имена для всех SSH-ключей.
Если у вас еще не установлен OpenSSH
, установите его по инструкции .-
Запустите
cmd.exeилиpowershell.exe(предварительно обновите PowerShell). -
Создайте новый ключ с помощью команды
ssh-keygen:ssh-keygen -t ed25519 -C "<опциональный_комментарий>"Вы можете передать в параметре
-Cпустую строку, чтобы не добавлять комментарий, или не указывать параметр-Cвообще — в таком случае будет добавлен комментарий по умолчанию.После выполнения команды вам будет предложено указать имя и путь к файлам с ключами, а также ввести пароль для закрытого ключа. Если задать только имя, пара ключей будет создана в текущей директории. Открытый ключ будет сохранен в файле с расширением
.pub, закрытый ключ — в файле без расширения.По умолчанию команда предлагает сохранить ключ под именем
id_ed25519в папкуC:\Users\<имя_пользователя>/.ssh. Если в этой директории уже есть SSH-ключ с именемid_ed25519, вы можете случайно перезаписать его и потерять доступ к ресурсам, в которых он используется. Поэтому рекомендуется использовать уникальные имена для всех SSH-ключей.
Создайте ключи с помощью приложения PuTTY:
-
Скачайте
и установите PuTTY. -
Добавьте папку с PuTTY в переменную
PATH:- Нажмите кнопку Пуск и в строке поиска Windows введите Изменение системных переменных среды.
- Справа снизу нажмите кнопку Переменные среды....
- В открывшемся окне найдите параметр
PATHи нажмите Изменить. - Добавьте путь к папке в список.
- Нажмите кнопку ОК.
-
Запустите приложение PuTTYgen.
-
В качестве типа генерируемой пары выберите EdDSA. Нажмите Generate и поводите курсором в поле выше до тех пор, пока не закончится создание ключа.

-
В поле Key passphrase введите надежный пароль. Повторно введите его в поле ниже.
-
Нажмите кнопку Save private key и сохраните закрытый ключ. Никому не сообщайте ключевую фразу от него.
-
Нажмите кнопку Save public key и сохраните открытый ключ в файле
<имя_ключа>.pub.
-
-
Запустите SSH-агент:
Linux/MacOSWindows-
Выполните команду:
ssh-agent -s -
Чтобы SSH-агент запускался при входе в систему, в файл
~/.profileдобавьте команду запуска:ssh-agent -s
- Откройте контекстное меню кнопки Пуск.
- Выберите пункт Управление компьютером.
- Перейдите в раздел Службы и приложения → Службы.
- Откройте контекстное меню службы SSH agent и выберите пункт Свойства.
- На вкладке Главное измените тип запуска с Выключена на Автоматически.
- Нажмите кнопку OK и запустите службу.
-
-
Добавьте ключ в SSH-агент:
ssh-add <путь_к_закрытому_ключу> -
Присвойте публичный SSH-ключ
аккаунту в GitLab. -
Проверьте, что вы можете подключиться к GitLab:
ssh -T git@<домен_инстанса_GitLab>Пример:
ssh -T git@example.gitlab.yandexcloud.netЕсли вы подключаетесь в первый раз, отобразится подобное сообщение:
The authenticity of host 'gitlab.example.com (35.231.145.151)' can't be established. ECDSA key fingerprint is SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'gitlab.example.com' (ECDSA) to the list of known hosts.Введите
yesи нажмите Enter.Если вы подключаетесь не в первый раз, в случае успеха появится сообщение:
Welcome to GitLab, @<логин>!В случае ошибки запустите подключение в режиме Verbose, чтобы получить логи:
ssh -Tvvv git@<домен_инстанса_GitLab>
Попросите каждого участника вашей группы или проекта создать пару SSH-ключей таким образом и присвоить публичный ключ своему аккаунту в GitLab.
Начните работу с репозиторием
Чтобы начать работу с локальной копией вашего репозитория от имени созданного аккаунта, выполните следующие действия на локальном компьютере:
-
Клонируйте репозиторий
по протоколу SSH.Что делать в случае ошибки
Permission denied (publickey)При клонировании может возникнуть ошибка:
Cloning into '<название_проекта>'... git@<домен_инстанса_GitLab>: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.Если вы получили такую ошибку:
-
Создайте и откройте конфигурационный файл для настройки SSH-ключей:
nano ~/.ssh/config -
Добавьте в него содержимое:
Host <домен_инстанса_GitLab> IdentityFile <путь_к_закрытому_ключу>В параметре
IdentityFileукажите абсолютный путь к закрытому ключу, который вы создали для проекта GitLab. -
Сохраните файл.
-
Снова склонируйте репозиторий по SSH.
-
-
Перейдите в каталог с репозиторием:
cd <имя_проекта> -
Внесите изменения в файлы репозитория.
-
Проиндексируйте и примените изменения
в локальном репозитории:git add . && git commit -m "<название_коммита>" -
Отправьте изменения в удаленный репозиторий:
git push origin main