Ծրագրեր и Git Forge համագործակցային մշակման ծառայություն ստեղծելու որոշման մասին, որը կկառուցվի GitLab հարթակի միջոցով: GitLab-ը կդառնա Git պահոցների հետ փոխազդեցության և CentOS ու Fedora բաշխումներին վերաբերող նախագծերի հոսթինգի հիմնական հարթակը: Նախկինում օգտագործված ծառայությունը կշարունակի գոյություն ունենալ, բայց կհանձնվի շարունակական զարգացման մեջ հետաքրքրված համայնքի խնամքին: Pagere-ը կհեռացվի Red Hat-ի կողմից վարձված CPE (համայնքային հարթակի ինժեներական) թիմի խնամքից, որը պահպանում է Fedora-ի և CentOS-ի թողարկումների մշակման և հրապարակման ենթակառուցվածքը:
Նոր Git Forge-ի հնարավոր լուծումները գնահատելիս մենք դիտարկեցինք.
Փեյջուր և Գիթլաբ։ Հիմնված մոտավոր ուսումնասիրության վրա և Fedora, CentOS, RHEL և CPE նախագծերի մասնակիցների հարցումների հիման վրա ձևավորվեցին ֆունկցիոնալության պահանջները և ընտրություն կատարվեց Gitlab-ի օգտին: Բացի պահոցների հետ բնորոշ գործողություններից (միաձուլում, fork-երի ստեղծում, կոդի ավելացում և այլն), հիմնական պահանջների շարքում հայտարարվեցին հարթակի անվտանգությունը, օգտագործման հեշտությունը և կայունությունը:
Պահանջները ներառում էին այնպիսի գործառույթներ, ինչպիսիք են HTTPS push-ը, մասնաճյուղերի մուտքի սահմանափակումը, մասնավոր մասնաճյուղերի աջակցությունը, արտաքին և ներքին օգտատերերի մուտքի տարանջատումը (օրինակ՝ խնդրի մասին տեղեկատվության բացահայտման վրա արգելքի ժամանակ խոցելիությունները շտկելու ուղղությամբ աշխատելու համար), ինտերֆեյսի ծանոթությունը, խնդիրների մասին հաշվետվությունների, կոդի, նոր գործառույթների փաստաթղթավորման և պլանավորման հետ աշխատելու ենթահամակարգերի միավորումը, IDE ինտեգրման գործիքների առկայությունը, բնորոշ աշխատանքային հոսքերի աջակցությունը։
GitLab-ի հնարավորությունների շարքում, որոնք վերջնականապես ազդեցին այս հարթակը ընտրելու որոշման վրա, նշվեցին հետևյալները՝ ենթախմբերի աջակցություն՝ պահոցներին ընտրովի մուտք ունենալով, ավտոմատ միաձուլումների համար բոտ օգտագործելու հնարավորություն (պահանջվում է CentOS Stream-ը միջուկի փաթեթները պահպանելու համար), ներկառուցված գործիքների առկայություն մշակումը պլանավորելու համար, պատրաստի SAAS ծառայություն օգտագործելու հնարավորություն՝ երաշխավորված մատչելիության մակարդակով (կազատի ռեսուրսներ սերվերի ենթակառուցվածքը պահպանելու համար):
Որոշումն արդեն կայացված է Մշակողների շրջանում քննադատություն էր հնչում այն փաստի վերաբերյալ, որ որոշումը կայացվել է առանց նախնական լայն քննարկման: Կային նաև մտահոգություններ, որ ծառայությունը չի օգտագործի GitLab-ի անվճար համայնքային տարբերակը: Մասնավորապես, հայտարարության մեջ նկարագրված Git Forge-ի պահանջները իրականացնելու համար անհրաժեշտ հնարավորությունները հասանելի են միայն սեփական տարբերակում: .
Քննադատություն հնչեց նաև GitLab-ի կողմից տրամադրվող SAAS (հավելվածը որպես ծառայություն) ծառայությունն օգտագործելու մտադրության վերաբերյալ՝ GitLab-ը սեփական սերվերների վրա տեղակայելու փոխարեն, ինչը ծառայությունը դուրս է բերում վերահսկողությունից (օրինակ՝ անհնար է վստահ լինել, որ համակարգի բոլոր խոցելիությունները անհապաղ կշտկվեն)։ ենթակառուցվածքը աջակցվում է, մի պահ այն չի լինի և երրորդ կողմի ընկերության անձնակազմի կողմից դիվերսիան բացառվում է): Լուծումը նույնպես համատեղելի չէ , որոնք սահմանում են, որ նախագիծը պետք է նախապատվություն տա անվճար այլընտրանքներին։
Միևնույն ժամանակ, GitLab-ը GitLab-ի սեփականատիրական տարբերակներում նախկինում առաջարկվող 18 ֆունկցիոնալ հնարավորությունների բաց կոդով իրականացման մասին: Հնարավորությունները ներառում են ծրագրային ապահովման մշակման ամբողջական ցիկլի կառավարման տարբեր ոլորտներ, ներառյալ մշակման պլանավորումը, նախագծի ստեղծումը, ստուգումը, փաթեթների հետ աշխատանքը, թողարկումների ձևավորումը, կարգավորումը և անվտանգությունը:
Հետևյալ գործառույթները փոխանցվել են անվճար գործառույթներին.
- Կցելով հարակից խնդիրներ;
- Արտահանել խնդիրը GitLab-ից CSV ֆայլ։
- Առանձին ֆունկցիոնալությունների կամ թողարկումների մշակման գործընթացը պլանավորելու, կազմակերպելու և վիզուալիզացնելու եղանակ։
- Ներկառուցված ծառայություն՝ նախագծի մասնակիցներին երրորդ կողմերի հետ էլ. փոստի միջոցով կապելու համար։
- Վեբ տերմինալ Web IDE-ի համար;
- Վեբ տերմինալում կոդի փոփոխությունները ստուգելու համար ֆայլերը համաժամեցնելու ունակություն;
- Դիզայնի կառավարման գործիքներ, որոնք թույլ են տալիս վերբեռնել որևէ խնդրի մակետներ և ակտիվներ՝ օգտագործելով խնդիրը որպես նոր գործառույթ մշակելու համար անհրաժեշտ ամեն ինչին մուտք գործելու միակ կետ։
- Կոդի որակի հաշվետվություններ;
- Աջակցություն Conan (C/C++), Maven (Java), NPM (node.js) և NuGet (.NET) փաթեթների կառավարիչներին։
- Canary-ի տեղակայման աջակցություն, որը թույլ է տալիս տեղադրել ծրագրի նոր տարբերակը համակարգերի փոքր ենթաբազմության վրա։
- Աստիճանական բաշխումներ, որոնք սկզբում նոր տարբերակները մատակարարում են միայն փոքր թվով համակարգերի, աստիճանաբար ծածկույթը մեծացնելով մինչև 100%։
- Ֆունկցիոնալության ակտիվացման դրոշներ, որոնք թույլ են տալիս նախագիծը ներկայացնել տարբեր հրատարակություններով՝ դինամիկ կերպով ակտիվացնելով որոշակի գործառույթներ։
- Տեղակայումների համար ակնարկի ռեժիմ, որը թույլ է տալիս գնահատել Kubernetes-ի վրա հիմնված յուրաքանչյուր շարունակական ինտեգրման միջավայրի առողջությունը։
- Աջակցություն կոնֆիգուրատորում բազմաթիվ Kubernetes կլաստերներ սահմանելու համար (օրինակ, դուք կարող եք օգտագործել առանձին Kubernetes կլաստերներ փորձնական տեղակայումների և արտադրական աշխատանքային բեռների համար);
- Աջակցություն կոնտեյներային ցանցի անվտանգության քաղաքականությունների սահմանմանը՝ Kubernetes պոդերի միջև մուտքը սահմանափակելու համար։
Բացի այդ, կարող եք նշել GitLab 12.9.1, 12.8.8 և 12.7.8 (համայնքային և ձեռնարկությունների համար նախատեսված) թարմացումները, որոնք շտկում են խոցելիությունը: Խնդիրը առկա է GitLab EE/CE 8.5-ի թողարկումից ի վեր և թույլ է տալիս կարդալ ցանկացած տեղական ֆայլի պարունակությունը՝ խնդիրը նախագծերի միջև տեղափոխելիս:
Խոցելիության մանրամասները կհրապարակվեն 30 օրվա ընթացքում։
Source: opennet.ru
