Перейти к содержанию

GitLab

Информация

GitLab - это веб-приложение для управления исходным кодом на основе системы контроля версий Git. Сервис предоставляет широкий спектр инструментов для разработки, тестирования и развертывания приложений. GitLab позволяет создавать проекты, включающие несколько репозиториев, каждый из которых может использоваться для хранения кода, баг-репортов, документации и других файлов. Одной из ключевых возможностей GitLab является CI/CD - непрерывная интеграция, доставка и развертывание. Встроенные инструменты GitLab позволяют автоматизировать процесс сборки, тестирования и развертывания приложений, что повышает качество и скорость разработки. GitLab поддерживает интеграцию со многими инструментами разработки, такими как Jira, Jenkins, Kubernetes, Docker и многими другими.

GitLab. Основные возможности

  • Управление репозиториями: GitLab позволяет создавать, хранить и управлять репозиториями на основе Git;
  • Отслеживание задач: GitLab имеет встроенную систему отслеживания задач, которая помогает разработчикам управлять своими проектами;
  • CI/CD: содержит встроенную платформу Continuous Integration (CI) и Continuous Delivery (CD), которая автоматически проверяет и развертывает код после каждого коммита;
  • Wiki и Issue Tracker: помогают командам работать над задачами и документацией;
  • Управление правами доступа: GitLab позволяет настраивать права доступа к репозиториям и другим инструментам на основе ролей и пользователей;
  • Интеграция с другими инструментами: может быть легко интегрирован с другими инструментами, такими как Jira, Slack, Jenkins и многими другими;
  • Веб-интерфейс и API: имеет удобный веб-интерфейс и API, что делает его легко настраиваемым и расширяемым.

Особенности сборки

  • Возможна установка на Alma Linux 8,9; Centos 8,9 Stream; Rocky 8,9; Debian 11,12; Ubuntu 20.04, 22.04;
  • Контейнеризированная установка GitLab + SSL в зоне hostkey.in;
  • Установка выполняется скриптом разработчика в зависимости от дистрибутива;
  • Подключается репозиторий gitlab-ce в зависимости от дистрибутива;
  • Устанавливается пакет gitlab-ce;
  • После установки в конфигурационном файле /etc/gitlab/gitlab.rb задаются следующие переменные:
Переменная по умолчанию Заменяющая переменная Описание
gitlab_rails['initial_root_password'] = "password" gitlab_rails['initial_root_password'] = "{{ ansible_ssh_pass }}" применяется пароль с карточки сервера
external_url 'https://your_domain external_url 'https://gl~~~~{{ ansible_hostname }}.hostkey.in' задается URL с карточки сервера
letsencrypt['auto_renew'] = true letsencrypt['auto_renew'] = true включается обновление сертификата LetsEncrypt. Дефолтное поведение переменной - обновление сертификата после полуночи 4-го числа каждого месяца.

Начало работы после развертывания GitLab

После оплаты заказа на указанную при регистрации электронную почту придет уведомление о готовности сервера к работе. В нем будет указан IP-адрес VPS, а также логин и пароль для подключения. Управление оборудованием клиенты нашей компании осуществляют в панели управления серверами и APIInvapi.

Данные для авторизации, которые можно найти или во вкладке Info >> Tags панели управления сервером или в присланном e-mail:

  • Ссылка для доступа к панели управления GitLab с веб-интерфейсом: в теге webpanel;
  • Логин: root;
  • Пароль: приходит в письме на вашу электронную почту при сдаче сервера.

После перехода по ссылке https://gl{Server_ID_from_Invapi}.hostkey.in необходимо ввести логин и пароль:

На стартовой странице веб-интерфейса будут представлены ключевые действия по управлению сервисом и меню с овновными действиями (в левой части экрана):

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

  • Создание проекта (Create a project). Здесь можно быстро создать новый проект Git, указав его название и настройки доступа - публичный, внутренний или приватный.
  • Создание группы (Create a group). Группы позволяют объединять множество проектов и управлять доступом к ним с единых ролей. Это удобный инструмент для команд и организаций.
  • Добавление участников (Add people). Можно пригласить новых участников в проекты и группы, назначив им соответствующий уровень доступа - от гостя до владельца.
  • Настройка GitLab (Configure GitLab). Здесь собраны расширенные опции конфигурации - интеграции, параметры безопасности, шаблоны, API, непрерывная интеграция и многое другое.

Примечание

Подробная информация по основным настройкам GitLab содержится в документации разработчиков.

Заказ сервера с GitLab с помощью API

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=order_instance" \
--data "token=" \
--data "deploy_period=" \
--data "deploy_notify=" \
--data "email=" \
--data "pin=" \
--data "id=" \
--data "os_id=" \
--data "root_pass=" \
--data "hostname=" \
--data "ssh_key=" \
--data "post_install_callback=" \
--data "post_install_script=" \
--data "reinstall_key=" \
--data "os_name=" \
--data "imitate_deploy=" \
--data "imitate_error=0" \
--data "own_os=" \
--data "jenkins_task=" \
--data "traffic_plan=" \
--data "invoice_relid=" \
--data "preset=" \
--data "location_name=" \