24.09.2020

Выпуск платформы совместной разработки OneDev 3.0


Доступен новый значительный выпуск OneDev 3.0, платформы для управлением полным циклом разработки ПО, предоставляющей полный набор инструментов для разработки проектов в соответствии с парадигмой DevOps. По своим возможностям OneDev напоминает GitLab и также даёт возможность развернуть на своих мощностях инфраструктуру совместной разработки, рецензирования, тестирования, сборки и доставки релизов, не привязываясь к внешним облачным сервисам, таким как GitHub. Код проект написан на языке Java и распространяется под лицензией MIT.

Некоторые возможности:

  • Упрощённый процесс развёртывания сборочной фермы для запуска CI-сборок в Kubernetes, не требующий выполнения агентов и runner-ов. Возможность тестирования в контейнерах с Linux и Windows;
  • Поддержка создания спецификаций сборки (Build Spec) в наглядном режиме без написания YAML-файлов и запоминания синтаксиса;
  • Возможность гибкой настройки процесса сборки с использованием условных сборочных параметров, параллельным запуском нескольких сборочных работ и автоматическим запуском работ при наступлении определённых событий;
  • Поддержка определения собственных состояний и полей для уведомлений о проблемах (issue), возможность определения зависимостей между полями и автоматическая смена состояния при наступлении определённых событий;
  • Автообновляемый интерфейс issue, не требующий перезагрузки страницы;
  • Система поиска и навигации по коду и изменениям, учитывающая особенности синтаксиса Java, JavaScript, C, C++, CSharp, Go, PHP, Python, CSS, SCSS, LESS и R;
  • Поддержка привязки обсуждений и внешних комментариев к коду и блокам с изменениями (diff);
  • Гибкие правила рецензирования pull-запросов c возможностью защиты определённых веток и назначением разработчиков для рецензировния;
  • Поэтапный режим анализа коммитов при рецезнировании pull-запросов. Привязка к обсуждениям прошлого рецензирования;
  • Язык запросов, позволяющий находить нужную информацию в проектах, коммитах, сборках, issues, pull-запросах и комментариях. Возможность сохранения запроса и получения уведомления о появлении связанных с ним новых событиях;
  • Система контроля доступа, позволяющая определять кто может изменять код в определённом подкаталоге, назначать issues, запускать сборки релизов, просматривать логи и т.п.
  • Возможности для создания и клонирования репозиториев;
  • Подписка на получение уведомлений об осуществлении коммитов в master-ветку;
  • Поддержка pull-запросов с автоматизацией проверки принимаемого коммита в системе непрерывной интеграции и утверждением экспертным советом, включающим как минимум два разработчика;
  • Возможность закрытия issues через сообщение коммита, которое может связывать обсуждение, коммит, сборки и pull-запросы;
  • Возможность создания сохраняемых в интерфейсе форм для отображения каким пользователям назначено решение проблем (issue);
  • Поддержка создания произвольных полей для прикрепления issue к определённым модулям и платформам;
  • Возможность автоматической смены статуса проблемы на Deployed при исправлении при сборке и на Review при открытии pull-запроса;
  • Возможность назначения проблеме состояния Verified, которое могут присваивать разработчики, имеющие статус тестировщика;
  • Поддержка ручного инициирования пересборки с возможностью указания версии, которая будет присвоена и создан соответствующий тег в случае успеха сборки;
  • Возможность выбора платформы и версии ядра Linux при запуске ручной пересборки;
  • Поддержка тестирования в CI различных комбинаций Oracle/MySQL и Linux/Windows при коммите в master-ветку;
  • Автоматическое создание уведомлений о проблемах (issue) и назначение ответственного для разбора проблемы в случае сбоя сборки master-ветки в CI. Автозакрытие issue при устранении сбоя при сборке
  • Возможность генерации файлов в одной работе, их параллельной обработке во второй и анализ результатов в третьей;
  • Поддержка повторного запуска работ в случае ошибки запуска обработчика в Kubernetes;
  • Возможность использования сервиса MySQL в процессе выполнения работ;
  • Поддержка задания секретного ключа при определении спецификации сборки;
  • Возможность ограничения доступа анонимным пользователям только к релизам определённых проектов;
  • Поддержка ограничения генерации релизов только master-веткой и размещения на рабочих серверах только релизов, собранных из master-ветки.

Источник: https://www.opennet.ru/opennews/art.shtml?num=52213

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