Проекти и за решението да се създаде услуга за съвместна разработка Git Forge, която ще бъде изградена с помощта на платформата GitLab. GitLab ще стане основната платформа за взаимодействие с Git хранилища и за хостинг на проекти, свързани с дистрибуциите CentOS и Fedora. Приложената преди услуга ще продължи да съществува, но ще бъде предадена на общността, заинтересована в продължаването на разработката. Pagure ще бъде изведена от поддръжката на наетия в Red Hat екип CPE (Community Platform Engineering), който се занимава с поддръжката на инфраструктурата за разработка и публикуване на версии на Fedora и CentOS.
При оценяването на възможните решения за новия Git Forge бяха разгледани
Pagure и Gitlab. На базата на проучването на около и желания от участниците в проектите Fedora, CentOS, RHEL и CPE, бяха формулирани изисквания за функционалност и избран Gitlab. Освен типичните операции с хранилища (сливане, създаване на форкове, добавяне на код и т.н.), сред ключовите изисквания бяха заявени сигурност, удобство за работа и стабилност на платформата.
Сред изискванията бяха включени възможности като изпращане на push-заявки по HTTPS, средства за ограничаване на достъпа до клонове, поддръжка на частни клонове, разделяне на достъпа на външни и вътрешни потребители (например, за работа по отстраняване на уязвимости по време на ембарго за разкриване на информация), удобство на интерфейса, унификация на подсистемите за работа с проблеми, код, документация и планиране на нови функции, наличие на средства за интеграция с IDE, поддръжка на типични работни потоци.
От функциите на GitLab, които окончателно повлияха на взетото решение за избор на тази платформа, бяха споменати поддръжка на подгрупи с селективен достъп до хранилища, възможност за използване на бот за автоматични слива (изисква се CentOS Stream за поддържане на пакети с ядро), наличие на вградени средства за планиране на разработката, възможност за ползване на готов SAAS услуга с гарантиран ниво на достъпност (ще освободи ресурси за поддържане на сървърната инфраструктура).
Решението вече критика сред разработчиците, свързана с факта, че решението беше взето без предварително широко обсъждане. Също така бяха изразени опасения, че услугата няма да използва свободната Comminity версия на GitLab. В частност, възможностите, необходими за реализирането на описаните в анонса изисквания към Git Forge, са налични само в проприетарната версия. .
Критика получи и намерението да се възползва от предоставяната от GitLab услуга SAAS (приложение като услуга), вместо да инсталира GitLab на собствените си сървъри, което поставя услугата извън контрол (например, не може да се уверите, че всички уязвимости в системата се отстраняват своевременно, поддържа инфраструктурата, в един прекрасен момент няма да бъде и изключена диверсия от страна на персонала на трета страна). Решението също така не съвпада с , в които е определено, че проектът трябва да дава предпочитание на свободните алтернативи.
Междувременно компанията GitLab обяви реализацията на 18 функционалности, които преди това се предлагат само в проприетарни версии на GitLab. Функционалностите обхващат различни области на управление на пълния цикъл на разработка на софтуер, включително планиране на разработката, създаване на проекти, верификация, работа с пакети, формиране на релизи, настройка и защита.
Включените функции в свободния режим са:
- Прикрепване на свързани задачи;
- Експорт на задачи от GitLab в CSV;
- Режим на планиране, подреждане и визуализиране на процеса на разработка на отделни функционални възможности или релизи;
- Вградена обслужваща служба за свързване на участниците в проекта с външни лица чрез email.
- Уеб терминал за Web IDE;
- Възможност за синхронизиране на файлове за тестване на промените в кода в уеб терминала;
- Инструменти за управление на дизайна, позволяващи качване на макети и ресурси в задачите, използвайки задачите като единна точка за достъп до всичко необходимо за разработване на нова функционалност;
- Отчети за качество на кода;
- Поддръжка на пакетни мениджъри Conan (C/C++), Maven (Java), NPM (node.js) и NuGet (.NET);
- Поддръжка на канаречни разгръщания, позволяващи инсталиране на нова версия на приложението на малка част от системите;
- Инкременционни разпространения, които позволяват първоначално да се доставят новите версии само на малък брой системи, постепенно увеличавайки обхвата до 100%;
- Флагове за активиране на функционалността, които позволяват доставката на проекта в различни редакции, динамично активиращи определени възможности;
- Режим на преглед на разгръщания, позволяващ оценка на състоянието на всяка среда за непрекъсната интеграция на базата на Kubernetes;
- Подкрепа за определяне на няколко кластера Kubernetes в конфигуратора (например, могат да се използват отделни Kubernetes клъстери за пробни внедрявания и работни натоварвания);
- Подкрепа за определяне на политики за мрежова сигурност на контейнерите, позволяващи да се ограничи достъпът между подовете на Kubernetes.
Допълнително може да се отбележи обновления на GitLab 12.9.1, 12.8.8 и 12.7.8 (Community Edition и Enterprise Edition), в които е отстранена уязвимост. Проблемът се проявява от версия GitLab EE/CE 8.5 и позволява четене на съдържанието на всеки локален файл при преместене на issue между проектите.
Детайли за уязвимостта ще бъдат разкрити след 30 дни.
Източник: opennet.ru
