Projektek és a Git Forge közös fejlesztési szolgáltatás létrehozásának megoldásáról, amely a GitLab platformra épül. A GitLab lesz az elsődleges platform a Git-tárhelyekkel való interakcióhoz és a CentOS és Fedora disztribúciókkal kapcsolatos projektek hosztolásához. Az előzőleg alkalmazott szolgáltatás továbbra is létezni fog, de át lesz adva egy közösségnek, amely érdeklődik a fejlesztés folytatása iránt. A Pagure a Red Hat CPE (Community Platform Engineering) csapata által fenntartott támogatás alól kikerül, akik a Fedora és CentOS kiadásainak fejlesztéséhez és közzétételéhez szükséges infrastruktúra karbantartásával foglalkoznak.
A lehetséges Git Forge megoldások értékelése során a következők voltak figyelembe véve:
Pagure és GitLab. Körülbelül és kívánság alapján a Fedora, CentOS, RHEL és CPE projekt résztvevőitől, a funkcionális igények megfogalmazásra kerültek, és a GitLab mellett döntöttek. A repositoriumokkal kapcsolatos alapvető műveletek (összevonás, fork létrehozása, kód hozzáadása stb.) mellett a főbb követelmények között szerepelt a biztonság, a felhasználóbarát működés és a platform stabilitása.
A követelmények közé tartozott például a HTTPS-en történő push-kérések küldése, a branch-hozzáférés korlátozó eszközei, a privát branch-ek támogatása, a külső és belső felhasználók közötti hozzáférés elválasztása (például a sérülékenységek kezelésére irányuló munka során a probléma közzétételére vonatkozó embargó alatt), a felhasználói felület megszokhatósága, a hibajegyekkel, kóddal, dokumentációval és új lehetőségek tervezésével foglalkozó alrendszerek egységesítése, IDE-kkel való integrációs lehetőségek, és a megszokott munkafolyamatok támogatása.
A GitLab funkciói között, amelyek végső soron befolyásolták a platform kiválasztását, említésre került a repókkal való szelektív hozzáférés támogatása, az automatikus összevonásokhoz szükséges bot használatának lehetősége (a csomagok kernel-támogatásához CentOS Stream szükséges), a beépített fejlesztési tervezési eszközök megléte, valamint egy kész SAAS-szolgáltatás használatának lehetősége, amely garantált rendelkezésre állást biztosít (ez lehetővé teszi, hogy felszabadítsunk forrásokat a szerverinfrastruktúra fenntartásához).
A döntés már a fejlesztők körében, amiatt a kritika, hogy a döntés előzetes széleskörű megbeszélés nélkül született. Aggályok is felmerültek a tekintetben, hogy a szolgáltatás nem fogja használni a szabad Community kiadását a GitLabnak. Különösen azok a funkciók, amelyek szükségesek a bejelentett Git Forge követelmények megvalósításához, csak a tulajdonosi verzióban állnak rendelkezésre. .
Kritika érte a GitLab által nyújtott SAAS szolgáltatás igénybevételének szándékát is (alkalmazás mint szolgáltatás), ahelyett, hogy a GitLabot saját szerverein telepítenék, ami kiemeli a szolgáltatást az ellenőrzés alól (például nem lehet biztos abban, hogy minden rendszersebezhetőséget időben kijavítanak) támogatva az infrastruktúrát, egy szép napon nem fogja és kizárni a harmadik fél munkatársai által elkövethető tévesztéseket). A döntés emellett nem összeegyeztethető a , amelyek meghatározzák, hogy a projekt elsőbbséget kell, hogy élvezzen a szabad alternatívák előtt.
Időközben a GitLab bejelentette, hogy 18 új funkciót valósított meg, amelyeket korábban csak a tulajdonosi GitLab kiadásokban kínáltak. Ezek a funkciók a szoftverfejlesztési ciklus teljes átfogására vonatkoznak, beleértve a fejlesztési tervezést, projektek létrehozását, hitelesítést, csomagkezelést, kiadások létrehozását, konfigurálást és védelmet.
A következő funkciók lettek szabadon elérhetővé:
- Kapcsolódó problémák csatolása;
- Problémák exportálása GitLabból CSV-be;
- Fejlesztési funkciók vagy kiadások tervezésének, sorba állításának és vizualizálásának módja;
- Beépített szolgáltatási eszköz, amely összeköti a projekt résztvevőit külső felekkel e-mailen keresztül.
- Webterminál a Web IDE-hez;
- Fájlok szinkronizálási lehetősége a kódváltozások teszteléséhez a webterminálban;
- Tervezéskezelési eszközök, amelyek lehetővé teszik a vázlatok és források feltöltését a problémákhoz, egyetlen hozzáférési pontként szolgálva mindenhez, ami szükséges egy új funkció kifejlesztéséhez;
- Kódminőségi jelentések;
- Csomagkezelők támogatása: Conan (C/C++), Maven (Java), NPM (node.js) és NuGet (.NET);
- Kanári telepítések támogatása, amelyek lehetővé teszik egy új verzió telepítését a rendszerek kis részén;
- Incrementális kiadások, amelyek lehetővé teszik, hogy először csak egy kis számú rendszernek szállítsunk új verziókat, fokozatosan növelve a lefedettséget 100%-ra;
- Funkcionalitásaktiváló zászlók, amelyek lehetővé teszik a projekt különböző kiadásokban történő szállítását, dinamikusan aktiválva bizonyos képességeket;
- Telepítési áttekintő mód, amely lehetővé teszi, hogy értékeljük a folyamatos integrációs környezetek állapotát Kubernetes alapú rendszeren;
- Több Kubernetes klaszter konfigurátorban történő meghatározásának támogatása (például külön klaszterek használata kísérleti telepítésekhez és munkahelyi terhelésekhez);
- A konténerek hálózati biztonsági szabályainak meghatározásának támogatása, amely lehetővé teszi a hozzáférés megosztását a Kubernetes podjai között.
További megjegyzésként GitLab 12.9.1, 12.8.8 és 12.7.8 (Community Edition és Enterprise Edition) frissítések, amelyekben javítják a sebezhetőséget. A probléma a GitLab EE/CE 8.5 kiadásától kezdve jelentkezik, és lehetővé teszi bármely helyi fájl tartalmának elolvasását a hiányosságok projektjeinek közötti mozgatásakor.
A sebezhetőség részleteit 30 napon belül felfedik.
Forrás: opennet.ru
