Projektek и a Git Forge együttműködésen alapuló fejlesztési szolgáltatás létrehozásáról szóló döntésről, amely a GitLab platformon fog megépülni. A GitLab lesz az elsődleges platform a Git-tárolókkal való interakcióhoz, valamint a CentOS- és Fedora-disztribúciókhoz kapcsolódó projektek üzemeltetéséhez. Korábban használt szolgáltatás továbbra is fennáll, de a folyamatos fejlődésben érdekelt közösség gondozásába kerül. Pagure kikerül a Red Hatnél alkalmazott CPE (Community Platform Engineering) csapat támogatásából, amely a Fedora és CentOS kiadások fejlesztéséhez és közzétételéhez szükséges infrastruktúra karbantartásával foglalkozik.
Az új Git Forge lehetséges megoldásainak értékelésekor figyelembe vettük
Pagure és Gitlab. Egy tanulmány alapján kb és a Fedora, CentOS, RHEL és CPE projektek résztvevőinek kívánságait, a funkcionalitási követelményeket kialakították, és a választás a Gitlab javára történt. A repositóriumokkal végzett szabványos műveletek (egyesítés, forkok létrehozása, kód hozzáadása stb.) mellett a legfontosabb követelmények között szerepelt a biztonság, a könnyű kezelhetőség és a platform stabilitása.
A követelmények között szerepeltek olyan szolgáltatások, mint a push kérések küldése HTTPS-en keresztül, a fiókokhoz való hozzáférés korlátozásának eszközei, a privát fiókok támogatása, a külső és belső felhasználók hozzáférésének elkülönítése (például a sebezhetőségek kiküszöbölése a problémával kapcsolatos információk közzétételére vonatkozó embargó idején). , ismeretterjesztő felület, alrendszerek egyesítése a problémajelentésekkel való munkavégzéshez, kód, új funkciók dokumentációja és tervezése, eszközök rendelkezésre állása az IDE-vel való integrációhoz, szabványos munkafolyamatok támogatása.
A GitLab képességei közül, amelyek végső soron befolyásolták a platform választását, megemlítették a tárolókhoz szelektív hozzáféréssel rendelkező alcsoportok támogatását, a bot használatának lehetőségét az automatikus egyesítéshez (a csomagok kernellel való karbantartásához a CentOS Stream szükséges), beépített eszközök jelenléte a fejlesztés tervezéséhez, kész SAAS szolgáltatás használatának lehetősége garantált elérhetőségi szinttel (forrásokat szabadít fel a szerver infrastruktúra karbantartásához).
A döntés már megvan kritika a fejlesztők körében amiatt, hogy a döntés alapos előzetes vita nélkül született. Aggályok merültek fel azzal kapcsolatban is, hogy a szolgáltatás nem fogja használni a GitLab ingyenes közösségi kiadását. A közleményben leírt Git Forge követelményeinek megvalósításához szükséges képességek csak a védett verzióban érhetők el. .
Kritikát kapott az a szándék is, hogy a GitLab szerverein a GitLab telepítése helyett a SAAS (application as a service) szolgáltatást használják, ami kiveszi a szolgáltatást az irányítás alól (például nem lehet biztos abban, hogy minden biztonsági rést a rendszert azonnal megszüntetik, az infrastruktúra karbantartott, egyszer nem lesz és a harmadik fél cég személyzete által végzett szabotázs kizárt). A megoldás szintén nem működik , amelyek előírják, hogy a projektnek előnyben kell részesítenie az ingyenes alternatívákat.
Eközben a GitLab 18 olyan funkció megvalósításának felfedezéséről, amelyeket korábban csak a GitLab szabadalmaztatott kiadásaiban kínáltak. A képességek lefedik a teljes szoftverfejlesztési ciklus kezelésének különböző területeit, beleértve a fejlesztési tervezést, a projektkészítést, az ellenőrzést, a csomagkezelést, a kiadás generálást, a konfigurációt és a biztonságot.
A következő funkciók kerültek szabad tartományba:
- Kapcsolódó probléma csatolása;
- Probléma exportálása a GitLabból CSV-be;
- Az egyes funkciók vagy kiadások fejlesztési folyamatának tervezési, szervezési és megjelenítési módja;
- Beépített szolgáltatás a projekt résztvevőinek harmadik felekkel való összekapcsolásához e-mailben.
- Webterminál webes IDE-hez;
- Fájlok szinkronizálásának képessége a webterminál kódjában bekövetkezett változások teszteléséhez;
- Tervezési vezérlők, amelyek lehetővé teszik makettek és eszközök feltöltését a kiadáshoz, a kiadást egyetlen hozzáférési pontként használva mindenhez, amire egy új funkció fejlesztéséhez szükség van;
- Kódminőségi jelentések;
- A Conan (C/C++), Maven (Java), NPM (node.js) és NuGet (.NET) csomagkezelők támogatása;
- Canary telepítések támogatása, amely lehetővé teszi az alkalmazás új verziójának telepítését a rendszerek egy kis részére;
- Növekményes disztribúciók, amelyek lehetővé teszik az új verziók eleinte csak kis számú rendszerhez való eljuttatását, fokozatosan 100%-ra növelve a lefedettséget;
- Funkcionalitás aktiváló jelzők, amelyek lehetővé teszik a projekt különböző kiadásokban történő szállítását, bizonyos funkciók dinamikus aktiválását;
- Telepítési áttekintés mód, amely lehetővé teszi az egyes folyamatos integrációs környezetek állapotának felmérését a Kubernetes alapján;
- Több Kubernetes-fürt meghatározásának támogatása a konfigurátorban (például külön Kubernetes-fürtöket használhat próbamegvalósításokhoz és munkaterhelésekhez);
- Támogatás a konténerhálózati biztonsági házirendek meghatározásához, amelyek lehetővé teszik a Kubernetes podok közötti hozzáférés korlátozását.
Ezenkívül meg lehet jegyezni A GitLab 12.9.1, 12.8.8 és 12.7.8 (Community Edition és Enterprise Edition) frissítései, amelyek kijavítják a biztonsági rést. A probléma a GitLab EE/CE 8.5 kiadása óta fennáll, és lehetővé teszi bármely helyi fájl tartalmának olvasását, amikor egy problémát áthelyezünk a projektek között.
A sérülékenység részleteit 30 nap múlva hozzák nyilvánosságra.
Forrás: opennet.ru
