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

Gitea

Информация

Gitea - веб-приложение, написанное на Go, позволяющее создавать собственные GIT-репозитории.

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

  • Управление репозиториями: Gitea позволяет создавать, клонировать, сливать и удалять репозитории. Можно настроить доступ к репозиториям для разных пользователей и групп.
  • Код-ревью: Gitea предоставляет возможность проводить код-ревью, что помогает обнаружить ошибки и повысить качество кода. Возможно комментировать изменения, предлагать исправления и сливать изменения в основную ветвь.
  • Отслеживание ошибок: система отслеживания ошибок, позволяющая создавать, отслеживать и назначать задачи. Помогает команде эффективно управлять задачами и улучшить процесс разработки.
  • Интеграция с CI/CD: Gitea может интегрироваться с различными системами непрерывной интеграции и развертывания (CI/CD). Возможно настроить автоматическую сборку, тестирование и развертывание вашего кода при каждом обновлении.
  • Управление пользователями и правами доступа: можно создавать пользователей, назначать им роли и настраивать доступ к репозиториям и функциям.
  • Интеграция с внешними сервисами: Gitea может интегрироваться с различными сервисами, такими как Slack, Mattermost, SMTP-серверы и другие. Позволяет получать уведомления о событиях в Gitea и взаимодействовать с другими инструментами разработки.
  • Поддержка Wiki и панели задач: Gitea предлагает встроенную систему Wiki для документирования проектов и панель задач для отслеживания и управления задачами.
  • Открытый исходный код: Gitea является программным обеспечением с открытым исходным кодом, что позволяет настроить его в соответствии с различными потребностями.
  • Расширяемость: Gitea предоставляет API для интеграции с другими инструментами и системами.

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

  • Возможна установка на Debian 10. 11,12; Ubuntu 20.04, 22.04, 22.10, 23.04.
  • Установка выполняется с помощью пакетного менеджера apt.
  • После установки, настраивается конфигурационный файл /etc/gitea/app.ini*.
  • Генерируется JWT_SECRET(секретный ключ, используемый для подписи и проверки JSON Web Token (JWT)) и устанавливается в одноименную переменную.
  • Генерируются самозаверяющие сертификаты, устанавливаются в переменные CERT_FILE` иKEY_FILE`.
  • Указывается домен (DOMAIN) и URL (ROOT_URL) переменной {{domain_path}} (gitea<id сервера>.hostkey.cloud).
  • Устанавливается MySQL, создается пользователь и база данных Gitea, пароль для базы данных генерируется случайно для безопасности, также меняется пароль для root, сам пароль берется из тега password в Invapi.
  • После установки Gitea и MySQL и их настройки, запускается сервис Gitea и создается аккаунт с правами администратора, указывается логин - root, пароль из Invapi и электронная почта клиента из карточки сервера.
  • /etc/gitea/app.ini - конфигурационный файл был взят из установки с помощью Docker и адаптирован для шаблона.

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

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

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

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

Примечание

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

Заказ Gitea с помощью 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=" \