Общая информация о продукте Облачный сервер с GitLab
GitLab — платформа с открытым исходным кодом для хранения репозиториев проектов и автоматизации CI/CD с помощью встроенных пайплайнов и системы отслеживания ошибок. GitLab поддерживает полный цикл CI/CD — непрерывную интеграцию, сборку, тестирование и развертывание кода.
Для работы с GitLab CI/CD можно создать облачный сервер с GitLab с готовым образом операционной системы.
Дополнительно можно создать облачный сервер с GitLab Runner. GitLab Runner — открытое программное обеспечение, используется для автоматизации и выполнения задач (пайплайнов) в GitLab CI/CD. Работает как агент, который последовательно выполняет шаги, определенные в задачах пайплайна. Позволяет запускать сборку, тестирование и развертывание приложений в автоматическом режиме, управляя всем процессом выполнения задач CI/CD в GitLab.
При создании облачного сервера с GitLab будет автоматически выпущен бесплатный TLS-сертификат от Let’s Encrypt® для домена, который вы укажете. Для облачных серверов с GitLab и GitLab Runner можно настроить автоматическое создание бэкапов по расписанию. Из бэкапа можно восстановить диск сервера.
Стоимость
При использовании облачного сервера с GitLab и GitLab Runner оплачиваются только ресурсы облачной платформы по модели оплаты облачной платформы.
Перед созданием сервера пополните баланс.
Цены на ресурсы можно посмотреть на selectel.ru.
Создать и настроить облачный сервер с GitLab
Для создания и настройки облачного сервера с GitLab нужен домен и публичный IP-адрес, чтобы облачный сервер был доступен из интернета. Домен можно добавить в DNS-хостинг Selectel.
Вы можете создать облачный сервер стандартной конфигурации с автоматическим созданием базы данных PostgreSQL на сервере или подключить облачную базу данных PostgreSQL.
Стандартная конфигурация
Конфигурация с облачной базой данных PostgreSQL
-
Создайте публичный IP-адрес для облачного сервера.
-
Создайте зону для ресурсных записей домена.
-
Добавьте А-запись для домена и укажите в значении записи публичный IP-адрес, который вы создали на шаге 1.
-
Делегируйте управление доменом на серверы Selectel.
-
В панели управления перейдите в раздел Облачная платформа → Серверы.
-
Нажмите Создать сервер.
-
Выберите готовый образ
Cloud GitLab <version>
. -
Если количество пользователей GitLab менее 500, выберите конфигурацию облачного сервера с vCPU от 4 ядер, RAM от 8 ГБ и объемом загрузочного диска (локальный или сетевой) от 20 ГБ.
Если количество пользователей больше 500, посмотрите системные требования в официальной документации GitLab.
-
Добавьте к серверу дополнительный диск объемом от 30 ГБ. Дополнительный диск необходим для запуска GitLab и используется для хранения основных данных, например, базы данных, репозиториев.
-
Выберите приватную подсеть, которая подключена к облачному роутеру с доступом к внешней сети, и подключите публичный IP-адрес, который вы создали на шаге 1.
-
Разместите SSH-ключ на сервере — доступ к серверу по паролю отключен в образе. Можно добавить несколько ключей. Поддерживаются типы ключей еd25519, rsa, ecdsa и dsa. Выберите существующий ключ или нажмите Добавить SSH-ключ. Введите имя ключа и вставьте публичный SSH-ключ в формате OpenSSH. Нажмите Добавить.
В образе SSH-порт изменен на 22022.
-
В поле User data вставьте скрипт, который выполнится при загрузке системы:
#cloud-config
write_files:
- path: "/opt/gomplate/values/user-values.yaml"
permissions: "0644"
content: |
gitlabDomain: "<example.com>"
gitlabRootEmail: "<root@example.com>"
gitlabRootPassword: "<administrator_password>"
gitlabPostgresDB: "<database_name>"
gitlabPostgresUser: "<database_user_name>"
gitlabPostgresPassword: "<database_user_password>"
useExternalDB: falseУкажите:
<example.com>
— домен, для которого автоматически выпустится TLS-сертификат от Let’s Encrypt®;<root@example.com>
— электронная почта администратора GitLab;<administrator_password>
— пароль администратора GitLab. Должен быть более восьми символов;<database_name>
— имя базы данных PostgreSQL;<database_user_name>
— имя пользователя базы данных PostgreSQL;<database_user_password>
— пароль пользователя базы данных PostgreSQL.
-
Нажмите Создать. Настройка образа займет несколько минут.
-
Создайте публичный IP-адрес для облачного сервера.
-
Создайте зону для ресурсных записей доме на.
-
Добавьте А-запись для домена и укажите в значении записи публичный IP-адрес, который вы создали на шаге 1.
-
Делегируйте управление доменом на серверы Selectel.
-
Создайте кластер и облачную базу данных PostgreSQL, которую вы подключите к облачному серверу. Выберите версию PostgreSQL от 13 и выше.
-
В панели управления перейдите в раздел Облачная платформа → Серверы.
-
Нажмите Создать сервер.
-
Выберите готовый образ
Cloud GitLab <version>
. -
Если количество пользователей GitLab менее 500, выберите конфигурацию облачного сервера с vCPU от 4 ядер, RAM от 8 ГБ и объемом загрузочного диска (локальный или сетевой) от 20 ГБ.
Если количество пользователей больше 500, посмотрите системные требования в официальной документации GitLab.
-
Добавьте к серверу дополнительный диск объемом от 30 ГБ. Дополнительный диск необходим для запуска GitLab и используется для хранения основных данных, например, репозиториев.
-
Выберите приватную подсеть, которая подключена к облачному роутеру с доступом к внешней сети, и подключите публичный IP-адрес, который вы создали на шаге 1.
-
Разместите SSH-ключ на сервере — доступ к серверу по паролю отключен в образе. Можно добавить несколько ключей. Поддерживаются типы ключей еd25519, rsa, ecdsa и dsa. Выберите существующий ключ или нажмите Добавить SSH-ключ. Введите имя ключа и вставьте публичный SSH-ключ в формате OpenSSH. Нажмите Добавить.
В образе SSH-порт изменен на 22022.
-
В поле User data вставьте скрипт, который выполнится при загрузке системы:
#cloud-config
write_files:
- path: "/opt/gomplate/values/user-values.yaml"
permissions: "0644"
content: |
gitlabDomain: "<example.com>"
gitlabRootEmail: "<root@example.com>"
gitlabRootPassword: "<administrator_password>"
gitlabPostgresDB: "<database_name>"
gitlabPostgresUser: "<database_user_name>"
gitlabPostgresPassword: "<database_user_password>"
useExternalDB: true
externalDBHost: "<host>"
externalDBSSLMode: verify-ca
externalDBPort: "5432"Укажите:
<example.com>
— домен, для которого автоматически выпустится TLS-сертификат от Let’s Encrypt®;<root@example.com>
— электронная почта администратора GitLab;<administrator_password>
— пароль администратора GitLab. Должен быть более восьми символов;<database_name>
— имя облачной базы данных PostgreSQL. Можно посмотреть в панели управления в разделе Облачная платформа → Базы данных → страница кластера → вкладка Базы данных;<database_user_name>
— имя пользователя облачной базы данных PostgreSQL. Можно посмотреть в панели управления в разделе Облачная платформа → Базы данных → страница кластера → вкладка Базы данных → карточка базы данных → поле Владелец базы;<database_user_password>
— пароль пользователя облачной базы данных PostgreSQL. Пароль не хранится в панели управления — если вы его потеряли, измените пароль;<host>
— DNS-адрес облачной базы данных PostgreSQL. Можно посмотреть в панели управления в разделе Облачная платформа → Базы данных → страница кластера → вкладка Настройки → блок Адреса и статусы нод → вкладка DNS-адреса.
-
Нажмите Создать. Настройка образа займет несколько минут.
Создать облачный сервер с GitLab Runner
-
Создайте регистрационный токен для GitLab Runner по инструкции Create a project runner with a runner authentication token официальной документации GitLab.
-
В панели управления перейдите в раздел Облачная платформа → Серверы.
-
Нажмите Создать сервер.
-
Выберите готовый образ
Cloud GitLab Runner <version>
. -
Выберите конфигурацию облачного сервера с vCPU от 2 ядер, RAM от 2 ГБ.
-
Разместите SSH-ключ на сервере — доступ к серверу по паролю отключен в образе. Можно добавить несколько ключей. Поддерживаются типы ключей еd25519, rsa, ecdsa и dsa. Выберите существующий ключ или нажмите Добавить SSH-ключ. Введите имя ключа и вставьте публичный SSH-ключ в формате OpenSSH. Нажмите Добавить.
-
В поле User data вставьте скрипт, который выполнится при загрузке системы:
#cloud-config
write_files:
- path: "/opt/gomplate/values/user-values.yaml"
permissions: "0644"
content: |
gitlabURL: "<gitlab_server_url>"
token: "<runner_token>"Укажите:
<gitlab_server_url>
— URL сервера с GitLab, к которому подключается GitLab Runner;<runner_token>
— регистрационный токен GitLab Runner, который вы создали на шаге 1.
-
Нажмите Создать.