Projekte dhe për zgjidhjen e krijimit të shërbimit të zhvillimit të përbashkët Git Forge, i cili do të ndërtohet duke përdorur platformën GitLab. GitLab do të jetë platforma kryesore për bashkëveprimin me Git-repozitaret dhe për hostimin e projekteve lidhur me distribucioneve CentOS dhe Fedora. Shërbimi që ishte përdorur më parë do të vazhdojë të ekzistojë, por do të kalojë në kujdesin e komunitetit të interesuar për vazhdimin e zhvillimit. Pagure do të dalë nga mbështetja e ekipit CPE (Community Platform Engineering) që punon në Red Hat dhe që merret me mbështetje infrastrukturore për zhvillimin dhe publikimin e versioneve të Fedora dhe CentOS.
Në vlerësimin e zgjidhjeve të mundshme për Git Forge të ri u shqyrtuan
Pagure dhe GitLab. Bazuar në studimin e rreth dhe kërkesave nga pjesëmarrësit e projekteve Fedora, CentOS, RHEL dhe CPE, u formuluan kërkesat për funksionalitetin dhe u bë përzgjedhja për GitLab. Përveç operacioneve standarde me repozitat (bashkimi, krijimi i forkëve, shtimi i kodit etj.), kërkesat kryesore përfshinin sigurinë, lehtësinë e përdorimit dhe stabilitetin e platformës.
Në grupin e kërkesave ishin përfshirë mundësi të tilla si dërgimi i kërkesave push përmes HTTPS, mjete për kufizimin e aksesit në dega, mbështetje për degë private, ndarja e aksesit për përdoruesit e jashtëm dhe atyre të brendshëm (për shembull, për punë në eliminimin e dobësive gjatë embargos për zbulimin e informacionit për problemin), njohja e ndërfaqes, unifikimi i nën-sistemeve për punën me mesazhet për probleme, kodin, dokumentacionin dhe planifikimin e tipareve të reja, si dhe disponueshmëria e mjeteve për integrim me IDE, mbështetje për procedurat tipike të punës.
Nga mundësitë e GitLab-it, që ndihmuan përfundimisht në marrjen e vendimit për zgjedhjen e kësaj platforme, u përmendën mbështetje për nëngrupe me akses selektiv në repozita, mundësia e përdorimit të një boti për bashkim automatizues (kërkohet CentOS Stream për mbështetje të paketave me bërthamën), disponimi i mjeteve të brendshme për planifikimin e zhvillimit, si dhe mundësia e përdorimit të një shërbimi SAAS të gatshëm me një nivel të garantuar disponueshmërie (do të lejojë çlirimin e burimeve për mbështetje të infrastrukturës serverike).
Vendimi është marrë tashmë kritikë mes zhvilluesve, lidhur me faktin se vendimi u mor pa një diskutim të gjerë paraprak. Po ashtu, u shprehën shqetësime se shërbimi nuk do të përdorë versionin e lirë të redaktimit Comminity të GitLab. Në veçanti, mundësitë që janë të nevojshme për zbatimin e kërkesave të përshkruara në njoftim për Git Forge, janë të disponueshme vetëm në versionin pronar. .
Kritikës iu nënshtrua gjithashtu qëllimi për të shfrytëzuar shërbimin SAAS të ofruar nga kompania GitLab (aplikacion si shërbim), në vend të vendosjes së GitLab në serverët e saj, që e nxjerr shërbimin jashtë kontrollit (p.sh., nuk është e sigurt se të gjitha dobësitë në sistem do të eliminohen në kohë, telemetria e imponuar parimet themelore të Fedora Ndërkohë, kompania GitLab
lajmëroi realizimin e 18 funksionaliteteve, që më parë ishin ofruar vetëm në redaktimet pronare të GitLab. Funksionalitetet përfshijnë fusha të ndryshme të menaxhimit të ciklit të plotë të zhvillimit të software-it, përfshirë planifikimin e zhvillimit, krijimin e projekteve, verifikimin, punën me paketa, formimin e lëshimeve, konfigurimin dhe mbrojtjen. Në mesin e të lirave, janë përkthyer funksionet si vijon:
Prikthimi i issue-ve të lidhura;
- Eksportimi i issue-ve nga GitLab në CSV;
- Modi i planifikimit, renditjes dhe vizualizimit të procesit të zhvillimit të funksionaliteteve të veçanta ose lëshimeve;
- Shërbimi i integruar për lidhjen e pjesëmarrësve të projektit me palë të treta përmes email-it.
- Terminali Web për Web IDE;
- Mundësia e sinkronizimit të skedarëve për teste të ndryshimeve në kod në terminalin web;
- Mjetet për menaxhimin e dizajnit, që lejojnë ngarkimin e modele dhe burimesh në issue, duke përdorur issue si një pikë qendrore qasjeje për gjithçka që nevojitet për zhvillimin e një funksionaliteti të ri;
- Raportet mbi cilësinë e kodit;
- Mbështetje për menaxherët e paketave Conan (C/C++), Maven (Java), NPM (node.js) dhe NuGet (.NET);
- Mbështetje për zhvillime kanar, që lejojnë instalimin e një versioni të ri të aplikacionit në një pjesë të vogël të sistemeve;
- Mbështetje për implementimin e versioneve kanarinë, që lejon instalimin e një versioni të ri të aplikacionit në një pjesë të vogël të sistemeve;
- Shpërndarjet inkrementale, të cilat lejojnë që në fillim të dërgohen versione të reja vetëm për një numër të vogël sistemesh, duke e rritur gradualisht mbulimin deri në 100%;
- Flagat e aktivizimit të funksionaliteteve, që ofrojnë mundësinë për të dërguar projektin në edicione të ndryshme, duke aktivizuar dinamikisht mundësi të caktuara;
- Rezhimi përmbledhës i shpërndarjeve, i cili lejon të vlerësohet gjendja e çdo ambienti të integrimit të vazhdueshëm mbi bazën e Kubernetes;
- Mbështetje për përcaktimin e shumë klasterëve Kubernetes në konfigurues, (p.sh., mund të përdoren klastere të veçantë Kubernetes për implementime provuese dhe ngarkesa pune);
- Mbështetje për përcaktimin e politikave të sigurisë rrjetore për kontejnerët, që lejojnë diferencimin e aksesit midis pod-eve të Kubernetes.
Gjithashtu mund të theksohet aktualizimeve GitLab 12.9.1, 12.8.8 dhe 12.7.8 (Community Edition dhe Enterprise Edition), të cilat eliminojnë një vulnerabilitet. Problemi shfaqet duke filluar nga lëshimi i GitLab EE/CE 8.5 dhe lejon leximin e përmbajtjes së çdo skedari lokal kur transferohen çështje midis projekteve.
Detajet mbi vulnerabilitetin do të zbulohen pas 30 ditëve.
Burimi: opennet.ru
