Dostupné nové významné vydání , platformy pro správu celého cyklu vývoje software, poskytující kompletní sadu nástrojů pro vývoj projektů v souladu s paradigmatem DevOps. Podle svých schopností OneDev připomíná GitLab a také umožňuje nasazení infrastruktury pro spolupráci, revizi, testování, sestavování a dodávání verzí na vlastní kapacitě, bez vazby na externí cloudové služby, jako je GitHub. Kód projektu je napsán v jazyce Java a je licencován pod MIT licencí.
Některé funkce:
- Zjednodušený proces nasazení sestavovací farmy pro spuštění CI sestavení v Kubernetes, který nevyžaduje provádění agentů a runnerů. Možnost testování v kontejnerech s Linuxem a Windows;
- Podpora vytváření specifikací sestavení (Build Spec) v přehledném režimu bez psaní YAML souborů a zapamatování syntaxe;
- Možnost flexibilního nastavení procesu sestavování pomocí podmínkových sestavovacích parametrů, paralelního spuštění několika sestavovacích úloh a automatického spuštění úloh při nastání určitých událostí;
- Podpora definice vlastních stavů a polí pro upozornění na problémy (issue), možnost definice závislostí mezi poli a automatická změna stavu při nastání určitých událostí;
- Automaticky aktualizované rozhraní issue, které nevyžaduje obnovení stránky;
- Systém vyhledávání a navigace po kódu a změnách, který zohledňuje specifika syntaxe Java, JavaScript, C, C++, CSharp, Go, PHP, Python, CSS, SCSS, LESS a R;
- Podpora připojení diskuzí a externích komentářů kódu a blokům se změnami (diff);
- Flexibilní pravidla pro revizi pull-žádostí s možností ochrany určitých větví a přiřazení vývojářů pro revizi;
- Po etapách režim analýzy commitů při revizi pull-žádostí. Vázání na diskuze minulých revizí;
- Jazyk dotazů, který umožňuje hledat potřebné informace v projektech, commitech, sestaveních, issues, pull-žádostech a komentářích. Možnost ukládání dotazu a přijímání upozornění na nové události související s ním;
- Systém kontroly přístupu, který umožňuje určit, kdo může měnit kód v určitém podadresáři, přiřazovat issues, spouštět sestavení verzí, prohlížet logy atd.
- Možnosti pro vytváření a klonování repozitářů;
- Odběr oznámení o provedených commitech do master-větve;
- Podpora pull-requests s automatizací kontroly přijatého commitu v systému kontinuální integrace a schválením expertní radou, která zahrnuje minimálně dva vývojáře;
- Možnost uzavření issues prostřednictvím zprávy commitu, která může spojovat diskusi, commit, sestavení a pull-requests;
- Možnost vytváření formulářů uložených v rozhraní pro zobrazení, kterým uživatelům bylo přiřazeno řešení problémů (issue);
- Podpora vytváření libovolných polí pro připojení issue k určitém modulům a platformám;
- Možnost automatické změny stavu problému na Deployed při opravě v sestavení a na Review při otevření pull-requests;
- Možnost přiřazení problému stavu Verified, který mohou přidělovat vývojáři s rolí testera;
- Podpora ručního iniciování pře-sestavení s možností uvedení verze, která bude přiřazena a vytvořen odpovídající tag v případě úspěchu sestavení;
- Možnost výběru platformy a verze jádra Linux při spuštění ručního pře-sestavení;
- Podpora testování v CI různých kombinací Oracle/MySQL a Linux/Windows při commitu do master-větve;
- Automatické vytváření oznámení o problémech (issue) a přiřazení odpovědné osoby pro zpracování problému v případě selhání sestavení master-větve v CI. Automatické uzavření issue při odstranění selhání při sestavení.
- Možnost generování souborů v jednom úkolu, jejich paralelní zpracování ve druhém a analýza výsledků ve třetím;
- Podpora opětovného spuštění úkolů v případě chyby spuštění zpracovatele v Kubernetes;
- Možnost využití služby MySQL během provádění prací;
- Podpora nastavení tajného klíče při definování specifikace sestavení;
- Možnost omezení přístupu anonymním uživatelům pouze k vydáním určitých projektů;
- Podpora omezení generování vydání pouze na master-větvi a nasazování na pracovní servery pouze vydání, která byla sestavena z master-větve.
Zdroj: opennet.ru
