Наличен нов значителен ъпдейт , платформа за управление на целия цикъл на разработка на софтуер, предоставяща пълен набор от инструменти за разработка на проекти съгласно DevOps парадигмата. По своите възможности OneDev напомня на GitLab и също така предоставя възможност за разгръщане в собствените инфраструктури на софтуер за съвместна разработка, преглед, тестване, изграждане и доставка на релизи, без да се привързва към външни облачни услуги, като GitHub. Кодът на проекта е написан на Java и под лиценз MIT.
Някои възможности:
- Оптимизиран процес на разгръщане на сборочни ферми за стартиране на CI сборки в Kubernetes, без необходимост от агенти и изпълнители. Възможност за тестване в контейнери с Linux и Windows;
- Поддръжка за създаване на спецификации за изграждане (Build Spec) в визуален режим без необходимост от писане на YAML файлове и запомняне на синтаксиса;
- Възможност за гъвкаво конфигуриране на процеса на изграждане с помощта на условни параметри за изграждане, паралелно стартиране на няколко задачи за изграждане и автоматично стартиране на работи при настъпване на определени събития;
- Поддръжка за дефиниране на собствени състояния и полета за уведомления за проблеми (issue), възможност за определяне на зависимости между полетата и автоматична смяна на състоянието при настъпване на определени събития;
- Автообновяем интерфейс за проблеми, който не изисква презареждане на страницата;
- Система за търсене и навигация по код и промени, отчитайки особеностите на синтаксиса на Java, JavaScript, C, C++, CSharp, Go, PHP, Python, CSS, SCSS, LESS и R;
- Поддръжка за свързване на обсъждания и външни коментари към кода и блоковете с промени (diff);
- Гъвкави правила за рецензиране на pull заявки с възможност за защита на определени клонове и назначаване на разработчици за рецензиране;
- Степенен режим на анализ на комити при рецензиране на pull заявки. Свързаност с обсъждания от предишно рецензиране;
- Език за заявки, позволяващ намирането на необходимата информация в проекти, комити, сборки, issues, pull заявки и коментари. Възможност за запазване на заявка и получаване на уведомление за появата на нови свързани събития;
- Система за контрол на достъпа, позволяваща да се определя кой може да променя кода в определен подкаталог, да назначава задачи, да стартира сборки на релизи, да преглежда логове и т.н.
- Възможности за създаване и клониране на репозитории;
- Абонамент за уведомления относно извършени комити в master-вете;
- Поддръжка на pull-заявки с автоматизация на проверката на приетия комит в системата за непрекъсната интеграция и одобрение от експертен съвет, включващ поне двама разработчици;
- Възможност за затваряне на задачи (issues) чрез съобщение в комита, което може да свързва обсъждания, комити, сборки и pull-заявки;
- Възможност за създаване на форми, които се запазват в интерфейса, за показване на кои потребители са назначени решения на проблеми (issues);
- Поддръжка на създаването на произволни полета за свързване на issues към определени модули и платформи;
- Възможност за автоматична промяна на статуса на проблема на Deployed при поправка по време на сборка и на Review при отваряне на pull-заявка;
- Възможност за назначаване на статус Verified на проблема, който могат да присвояват разработчици с роля тестер;
- Поддръжка на ръчно инициирано повторно сборение с възможност за указване на версията, която ще бъде зададена и създаване на съответен таг в случай на успешна сборка;
- Възможност за избор на платформа и версия на Linux ядрото при задействане на ръчно повторно сборение;
- Поддръжка на тестване в CI на различни комбинации от Oracle/MySQL и Linux/Windows при комит в master-вете;
- Автоматично създаване на уведомления за проблеми (issues) и назначаване на отговорно лице за разглеждане на проблема в случай на провал на сборка на master-вете в CI. Автозатваряне на issue при отстраняване на провала на сборката.
- Възможност за генериране на файлове в една работа, тяхната паралелна обработка във втора и анализ на резултатите в трета;
- Поддръжка на повторно стартиране на работи при грешка при стартиране на обработчика в Kubernetes;
- Възможност за използване на услугата MySQL по време на работа;
- Поддръжка на задаването на секретен ключ при определяне на спецификацията на сборката;
- Възможност за ограничаване на достъпа на анонимни потребители само до релизите на определени проекти;
- Поддръжка на ограничение на генерирането на релизи само от master-вете и разполагане на работни сървъри само с релизи, генерирани от master-вете.
Източник: opennet.ru
