Proiecte și despre soluția de creare a serviciului de dezvoltare colaborativă Git Forge, care va fi construit folosind platforma GitLab. GitLab va deveni platforma principală pentru interacțiunea cu repositoarele Git și pentru găzduirea proiectelor legate de distribuțiile CentOS și Fedora. Serviciul anterior utilizat va continua să existe, dar va fi încredințat comunității interesate de continuarea dezvoltării. Pagure va fi scos de sub îngrijirea echipei CPE (Community Platform Engineering) angajate de Red Hat, care se ocupă cu menținerea infrastructurii pentru dezvoltarea și publicarea versiunilor Fedora și CentOS.
La evaluarea posibilelor soluții pentru noul Git Forge au fost luate în considerare
Pagure și GitLab. Pe baza studiului a aproximativ și propuneri din partea participanților la proiectele Fedora, CentOS, RHEL și CPE, au fost formulate cerințele de funcționalitate și s-a optat pentru GitLab. Pe lângă operațiunile standard cu repositoarele (îmbinări, creare de fork-uri, adăugare de cod etc.), printre cerințele cheie au fost menționate securitatea, confortul utilizării și stabilitatea platformei.
Printre cerințe s-au numărat astfel de funcționalități precum trimiterea de pull request-uri prin HTTPS, instrumente de restricționare a accesului la ramuri, suport pentru ramuri private, separarea accesului utilizatorilor externi și interni (de exemplu, pentru lucrul la remedierea vulnerabilităților în timpul embargoului de divulgare a problemei), familiaritatea interfeței, unificarea subsistemelor pentru gestionarea problemelor, codului, documentației și planificării noilor funcționalități, disponibilitatea de instrumente pentru integrarea cu IDE-uri, suport pentru fluxuri de lucru standard.
Printre funcționalitățile GitLab care au influențat în mod decisiv alegerea acestei platforme se numără suportul pentru subgrupuri cu acces selectiv la repositoare, capacitatea de a folosi un bot pentru îmbinări automate (este necesar CentOS Stream pentru menținerea pachetelor cu kernel), disponibilitatea de instrumente încorporate pentru planificarea dezvoltării, posibilitatea de a utiliza un serviciu SAAS gata făcut cu un nivel garantat de disponibilitate (va elibera resursele pentru menținerea infrastructurii serverului).
Decizia este deja critică din partea dezvoltatorilor, legată de faptul că decizia a fost luată fără o discuție amplă prealabilă. De asemenea, au fost exprimate temeri că serviciul nu va utiliza ediția gratuită Comminity a GitLab. În special, funcționalitățile necesare pentru implementarea cerințelor descrise în anunț sunt disponibile doar în versiunea proprietară. .
Critica a vizat și intenția de a folosi serviciul SAAS (aplicație ca serviciu) oferit de GitLab, în loc de a desfășura GitLab pe serverele proprii, ceea ce scoate serviciul de sub control (de exemplu, nu se poate fi sigur că toate vulnerabilitățile din sistem sunt remediate în mod operativ, infrastructura este suportată, la un moment dat nu va fi și exclusă diversia din partea personalului unei companii externe). Decizia nu se aliniază nici cu , care stabilesc că proiectul trebuie să acorde prioritate alternativelor gratuite.
Între timp, compania GitLab a anunțat implementarea a 18 funcționalități, anterior disponibile doar în edițiile proprietare GitLab. Funcționalitățile acoperă diverse domenii de gestionare a întregului ciclu de dezvoltare software, inclusiv planificarea dezvoltării, crearea proiectelor, verificarea, lucrul cu pachete, generarea de versiuni, configurarea și protecția.
Printre funcțiile traduse ca fiind gratuite se numără:
- Atașarea problemelor conexe;
- Exportul problemelor din GitLab în CSV;
- Modul de planificare, organizare și vizualizare a procesului de dezvoltare a anumitor funcționalități sau versiuni;
- Serviciu integrat pentru conectarea participanților la proiect cu terți prin e-mail.
- Terminal web pentru Web IDE;
- Posibilitatea de sincronizare a fișierelor pentru testarea modificărilor de cod în terminalul web;
- Instrumente de gestionare a designului, care permit încărcarea de machete și resurse în probleme, folosind problemele ca punct unic de acces la tot ceea ce este necesar pentru dezvoltarea unei noi funcționalități;
- Rapoarte despre calitatea codului;
- Suport pentru managerii de pachete Conan (C/C++), Maven (Java), NPM (node.js) și NuGet (.NET);
- Suport pentru desfășurări canary, care permit instalarea unei noi versiuni a aplicației pe o mică parte a sistemelor;
- Distribuții incrementale care permit inițial livrarea noilor versiuni doar pentru un număr mic de sisteme, extinzându-se treptat până la 100%;
- Steaguri de activare a funcționalității care permit livrarea proiectului în diverse ediții, activând dinamic anumite capabilități;
- Mod de vizualizare a desfășurărilor care permite evaluarea stării fiecărui mediu de integrare continuă bazat pe Kubernetes;
- Sprijin pentru definirea mai multor clustere Kubernetes în configurator (de exemplu, pot fi folosite clustere Kubernetes separate pentru implementări de testare și sarcini de lucru);
- Sprijin pentru stabilirea politicilor de securitate a rețelei containerelor, care permit delimitarea accesului între podurile Kubernetes.
apariția actualizări GitLab 12.9.1, 12.8.8 și 12.7.8 (Community Edition și Enterprise Edition), în care a fost remediată o vulnerabilitate. Problema apare începând cu versiunea GitLab EE/CE 8.5 și permite citirea conținutului oricărui fișier local atunci când se mută probleme între proiecte.
Detalii despre vulnerabilitate vor fi dezvăluite în termen de 30 de zile.
Sursa: opennet.ro
