ProHoster > Blog > Bestjoer > # GitLab 13.4 is frijjûn mei HashiCorp-opslach foar CI-fariabelen en Kubernetes Agent
# GitLab 13.4 is frijjûn mei HashiCorp-opslach foar CI-fariabelen en Kubernetes Agent
Release 13.4 is frijjûn mei HashiCorp-opslach foar CI-fariabelen, Kubernetes Agent en feiligenssintrum, lykas ek wikselbere funksjes yn Starter
By GitLab tinke wy altyd oer hoe't wy brûkers kinne helpe risiko te ferminderjen, effisjinsje te ferbetterjen en leveringssnelheid op jo favorite platfoarm te ferbetterjen. Dizze moanne hawwe wy in protte nuttige nije funksjes tafoege dy't feiligensmooglikheden útwreidzje, it oantal kwetsberens ferminderje, effisjinsje ferheegje, wurkje mei GitLab ferienfâldigje, en jo team helpe om funksjes noch rapper te leverjen. Wy hoopje dat jo de haadfunksjes fan 'e release nuttich sille fine, lykas 53 oare nije funksjes, tafoege yn dizze útjefte.
In oare manier om risiko's te ferminderjen is nije te brûken GitLab Kubernetes Agent. Operaasjeteams kinne Kubernetes-klusters fan GitLab ynsette sûnder har kluster te bleatstelle oan it heule ynternet. Wy yntrodusearje ek automatyske ferzje kontrôle stipe foar nije Terraform steat triemmen mei GitLab managed Terraform steat om konformiteit en gemak fan debuggen te stypjen. Uteinlik waard it eksimplaar befeiligingsdashboard GitLab Security Center mei kwetsberens rapporten en feiligens ynstellings.
Handiger en effisjinter wurk mei GitLab
Wy hawwe ús wrâldwide sykopdracht ferbettere om op te nimmen rappe navigaasje fanút de sykbalke, wêrtroch jo maklik kinne navigearje nei de lêste kaartsjes, groepen, projekten, ynstellings en helpûnderwerpen. Wy binne optein om oan te kundigjen dat GitLab Pages trochferwizings ferskynden om yndividuele siden en mappen binnen de side troch te lieden, wêrtroch brûkers har siden effisjinter kinne ynsette. En foar dyjingen dy't útwreide ynformaasje oer de ynset wolle ûntfange, lit dizze útjefte beheare hûnderten stipe projekt ynset fan de omjouwing arkbalke!
Fabio hat in soad bydroegen bydrage в werjaan fan koadedekking yn ferskillen foar fúzjefersyk - in funksje dy't in heul lange tiid is wachte yn 'e GitLab-mienskip. Dit is in wirklik wichtige bydrage mei net-triviale feroarings dy't konstante gearwurking nedich hawwe mei GitLab-teamleden en beynfloede in protte gebieten fan it projekt lykas UX, front-end en back-end.
Yn release 12.10 yntrodusearre GitLab de mooglikheid om kaaien te ûntfangen en oer te bringen nei CI-banen mei de GitLab-taakbehandler (GitLab runner). No wreidzje wy út autentikaasje mei JWT, nije syntaksis tafoegje secrets opslaan .gitlab-ci.yml. Dit sil it makliker meitsje om it HashiCorp-repository yn te stellen en te brûken mei GitLab.
GitLab's yntegraasje mei Kubernetes hat it al lang mooglik makke om yn te setten nei Kubernetes-klusters sûnder de needsaak foar hânmjittige konfiguraasje. In protte brûkers fûnen it gemak fan gebrûk fan dizze bondel, wylst oaren wat swierrichheden tsjinkamen. Foar de hjoeddeistige yntegraasje moat jo kluster tagonklik wêze fan it ynternet om GitLab tagong te krijen. Foar in protte organisaasjes is dit net mooglik, om't se tagong ta klusters beheine om redenen fan feiligens, neilibjen of regeljouwing. Om dizze beheiningen om te kommen, moasten brûkers har ark boppe GitLab bouwe, oars soene se dizze funksje net kinne brûke.
Hjoed yntrodusearje wy de GitLab Kubernetes Agent, in nije manier om yn te setten op Kubernetes-klusters. De agint rint yn jo kluster, dus jo hoege it net te bleatstelle oan it heule ynternet. De agint koördinearret de ynset troch nije feroarings oan te freegjen fan GitLab, ynstee fan GitLab dy't updates nei it kluster triuwt. Makket net út hokker GitOps-metoade jo brûke, GitLab hat jo behannele.
Tink derom dat dit de earste release fan 'e agent is. Us hjoeddeistige fokus foar GitLab Kubernetes Agent is it konfigurearjen en behearen fan ynset fia koade. Guon besteande Kubernetes-yntegraasjefunksjes, lykas ynsetboerden en GitLab-behearde applikaasjes, wurde noch net stipe. Wy tinkedat dizze mooglikheden sille wurde tafoege oan de agint yn takomstige releases, likegoed as nije yntegraasjes rjochte op feiligens en neilibjen.
Earder makke it tastimmingssysteem fan GitLab it lestich om ferantwurdlikheden goed te ferdielen binnen jo team tusken dyjingen dy't ferantwurdlik binne foar ûntwikkeling en dyjingen dy't ferantwurdlik binne foar ynset. Mei de frijlitting fan GitLab 13.4 kinne jo tastimming jaan om fúzjeoanfragen foar ynset goed te keuren, en ek om koade feitlik yn te setten foar minsken dy't de koade net skriuwe, sûnder har tagongsrjochten foar ûnderhâlder te jaan (yn 'e Russyske lokalisaasje fan GitLab "ûnderhâlder" ).
Earder wie kwetsberensbehear op eksimplaarnivo beheind yn sawol funksjonaliteit as fleksibiliteit. De ynterface wie in inkele side dy't details fan kwetsberens, metrike grafiken en ynstellingen kombineart. D'r is net folle romte om dizze funksjes te ûntwikkeljen of oare feiligensfunksjes te brûken.
Wy hawwe fûnemintele feroarings makke oan hoe't wy feiligens en transparânsje yn GitLab beheare. It eksimplaar befeiligingspaniel is omfoarme ta in folslein befeiligingssintrum. De grutste feroaring is de ynfiering fan in nije menustruktuer: ynstee fan ien side sjogge jo no it befeiligingsdashboard, kwetsberensrapport en ynstellingsseksje apart. Hoewol de funksjonaliteit net is feroare, sil it opbrekke yn dielen ferbetteringen foar dizze seksje tastean dy't oars lestich soene wêze. Dit stelt ek it poadium foar it tafoegjen fan oare feiligens-relatearre mooglikheden yn 'e takomst.
De tawijd seksje fan kwetsberensrapport hat no mear romte om wichtige details wer te jaan. Hjir binne de kwetsberens dy't op it stuit op 'e list mei kwetsberens fan it projekt steane. It ferpleatsen fan widgets mei kwetsberheidsmetriken nei in aparte seksje makket in handich befeiligingskontrôlepaniel. It is no in doek foar takomstige fisualisaasjes - net allinich foar kwetsberensbehear, mar foar alle feiligens-relatearre metriken. Uteinlik makket in apart ynstellingsgebiet in mienskiplike romte foar alle feiligensynstellingen op eksimplaarnivo, net allinich kwetsberensbehear.
Earder dit jier makke GitLab in tasizzing move 18 features yn iepen boarne. Yn dizze útjefte hawwe wy de migraasje fan wikselbere funksjes nei it Starter-plan foltôge en sille wy trochgean mei migrearje nei Core fanút Git Lab 13.5. Wy binne optein om dizze funksje nei mear brûkers te bringen en wolle hearre hoe't jo it brûke.
Soms wolle jo by it navigearjen fan GitLab direkt nei in spesifyk projekt gean ynstee fan de side mei sykresultaten.
Mei de wrâldwide sykbalke kinne jo fluch navigearje nei de lêste kaartsjes, groepen, projekten, ynstellings en helpûnderwerpen. Jo kinne sels in fluchtoets brûke /om jo rinnerke nei de sykbalke te ferpleatsen om GitLab noch effisjinter te navigearjen!
By it besjen fan in fúzjefersyk kin it lestich wêze om te bepalen oft de feroare koade wurdt dekt troch ienheidtests. Ynstee dêrfan kinne resinsinten fertrouwe op 'e algemiene dekking en freegje dat it wurdt ferhege foardat se in fúzjefersyk goedkarre. Dit kin liede ta in willekeurige oanpak foar it skriuwen fan tests, dy't de koadekwaliteit of testdekking net echt ferbetterje.
No, by it besjen fan in fúzjefersyk ferskil, sille jo in fisuele werjefte fan koadedekking sjen. Nije merken sille tastean jo om fluch begripe oft de feroare koade wurdt dekt troch in ienheid test, dat sil helpe om flugger koade review en de tiid fan gearfoegjen en ynsette nije koade.
Sûnt de frijlitting fan GitLab 12.5 brûke miljeu panielen jo koene de tastân fan omjouwings kontrolearje, mar net mear as sân omjouwings yn trije projekten. Wy hawwe dit paniel ferbettere yn release 13.4 troch it paginearjen om jo te helpen jo omjouwings op skaal te ûnderhâlden en te behearjen. No kinne jo mear omjouwings sjen yn mear projekten.
API fuzzing-testen is in geweldige manier om bugs en kwetsberens te finen yn jo webapplikaasjes en API's dy't oare scanners en testmetoaden miskien misse.
API fuzzing-testen yn GitLab kinne jo leverje OpenAPI v2 spesifikaasje of HAR triem jo applikaasje en genereart dan automatysk willekeurige ynfiergegevens ûntworpen om rânegefallen te testen en bugs te finen. Resultaten binne fuortendaliks sichtber binnen jo pipeline.
Dit is ús earste API fuzz-test-release en wy wolle graach hearre wat jo tinke. Wy hawwe mear op foarried foar fuzztesten in protte ideeën, dy't wy sille basearje op 'e frijlitting fan dizze funksje.
Earder wie it meitsjen fan in grafyk yn it metrike-dashboard yn GitLab gjin maklike taak. Neidat jo de metryske oanmakke hawwe yn it YAML-bestân fan it dashboard, hawwe jo wizigingen makke oan master, sûnder te kinnen ferifiearje dat de nij oanmakke grafyk krekt wurket sa't jo nedich binne. Begjin mei dizze release kinne jo wizigingen besjen as jo de grafyk meitsje, in idee krije fan it resultaat foardat jo de wizigingen ferstjoere nei it YAML-bestân fan it dashboard.
As jo in grut oantal projekten beheare yn GitLab, hawwe jo ien boarne fan ynformaasje nedich oer hoe't koadedekking yn 'e rin fan' e tiid feroaret oer alle projekten. Eartiids easke it werjaan fan dizze ynformaasje ferfeelsum en tiidslinend hânwurk: jo moasten koadedekkingsgegevens fan elk projekt downloade en kombinearje yn in tabel.
Yn release 13.4 waard it mooglik om maklik en fluch te sammeljen .csv triem mei alle gegevens oer koade dekking foar alle projekten fan de groep of foar in seleksje fan projekten. Dizze funksje is MVC, it sil wurde folge troch de mooglikheid plot gemiddelde dekking oer tiid.
Dizze release yntroduseart stipe foar ferskate nije talen foar fuzz-testen rjochte op folsleine dekking.
No kinne jo de folsleine mooglikheden fan fuzzing testen evaluearje yn jo Java-, Rust- en Swift-applikaasjes en flaters en kwetsberens fine dy't oare scanners en testmetoaden miskien misse.
De side Omjouwings toant de algemiene tastân fan jo omjouwings. Yn dizze release hawwe wy dizze side ferbettere troch warskôgingsdisplay ta te foegjen. Triggere warskôgings tegearre mei de status fan jo omjouwings sille jo helpe om fluch aksje te nimmen om situaasjes dy't ûntsteane te korrigearjen.
Troch geneste pipelines te brûken, is it no mooglik om nije pipelines yn bernepipelines út te fieren. It ekstra nivo fan djipte kin nuttich wêze as jo de fleksibiliteit nedich hawwe om in fariabel oantal pipelines te generearjen.
Eartiids, by it brûken fan nestele pipelines, easke elke bernpipeline in triggertaak om manuell te definieare yn 'e âlderpipeline. No kinne jo nestele pipelines oanmeitsje dy't elk oantal nije nestele pipelines dynamysk sille lansearje. As jo bygelyks in monorepository hawwe, kinne jo de earste subpipeline dynamysk generearje, dy't sels it fereaske oantal nije pipelines sil oanmeitsje op basis fan feroaringen yn 'e branch.
Earder wie it navigearjen tusken âlder en nestele pipelines net heul handich - jo hiene in protte klikken nedich om nei de winske pipeline te kommen. It wie ek net maklik om út te finen hokker baan de pipeline begûn. No sil it folle makliker wêze om de ferbiningen tusken âlder en nestele pipelines te sjen.
As jo brûkt taak matrix, jo hawwe miskien opfallen dat it lestich wie om te bepalen hokker matrixfariabele waard brûkt foar in bepaalde baan, om't de baannammen der útseagen matrix 1/4. Yn release 13.4 sille jo de relevante fariabele wearden sjen dy't waarden brûkt yn dy taak ynstee fan de generyske taaknamme. Bygelyks, as jo doel is om de x86-arsjitektuer te debuggen, dan soe de baan neamd wurde matrix: debug x86.
GitLab-brûkers sille no har GitLab-akkounts kinne ferbine mei har Atlassian Cloud-akkount. Hjirmei kinne jo ynlogge by GitLab mei jo Atlassian-credentials, en sil ek de basis lizze foar takomstige yntegraasjeferbetterings. Gitlab mei Jira en mei oare produkten út 'e Atlassian line.
Organisaasjes rjochte op neilibjen hawwe in manier nedich om auditors in holistyske werjefte te sjen fan 'e komponinten dy't ferbûn binne mei elke opjûne feroaring yn produksje. Yn GitLab betsjut dit alles op ien plak te sammeljen: oanfragen fusearje, kaartsjes, pipelines, befeiligingsscans en oare commitgegevens. Oant no ta moasten jo it manuell sammelje yn GitLab of jo ark konfigurearje om de ynformaasje te sammeljen, wat net heul effisjint wie.
Jo kinne dizze gegevens no programmatysk sammelje en eksportearje om te foldwaan oan kontrôleeasken of oare analyzes út te fieren. Om in list te eksportearjen fan alle gearfoegings foar de aktuele groep, moatte jo gean nei Compliance Dashboards en klikje op de knop List fan alle fúzje commits. It resultearjende bestân sil alle commits fan it fúzjefersyk befetsje, har auteur, ID fan it assosjearre fúzjefersyk, groep, projekt, befêstigings en oare ynformaasje.
It behearen fan tagong ta de GitLab-nammeromte is in wichtich ûnderdiel fan ynspanningen foar neilibjen. Fan prinsipes fan minste privileezje oant it útskeakeljen fan timed tagong, kinne d'r ferskate easken ferbûn wêze mei persoanlike tagongstokens yn GitLab. Om it makliker te meitsjen om al dizze brûkersbewizen binnen jo nammeromte te ûnderhâlden en te behearjen, hawwe wy de mooglikheid levere om alle persoanlike tagongstokens te listjen en opsjoneel tagong wegerje fia API.
Dizze ferbetteringen oan 'e GitLab API kinne brûkers har eigen persoanlike tagongstokens listje en ynlûke, en admins om tokens fan har brûkers te listjen en yn te lûken. It sil no makliker wêze foar behearders om te sjen wa't tagong hat ta har nammeromte, tagongsbesluten nimme op basis fan brûkersgegevens, en persoanlike tagongstokens weromlûke dy't mooglik kompromittearre binne of dy't bûten it belied foar tagongsbehear fan it bedriuw falle.
By it beoardieljen fan koadewizigingen, diskusjes en commits foar fúzjefersyk, is it faaks winsklik om in lokale kontrôle fan 'e branch te dwaan foar in djipper beoardieling. It finen fan de threadnamme wurdt lykwols hieltyd dreger, om't mear ynhâld wurdt tafoege oan de beskriuwing fan it fúzjefersyk en jo moatte fierder nei ûnderen rôlje op 'e side.
Wy hawwe de filialnamme tafoege oan 'e sydbalke foar fúzjefersyk, wêrtroch it op elk momint tagonklik is en de needsaak om troch de heule side te rôljen elimineare. Krekt as de kepling nei it fúzjefersyk, befettet de boarne-ôfdieling in handige "kopy" knop.
Спасибо Ethan Reesor foar jo enoarme bydrage oan 'e ûntwikkeling fan dizze funksje!
Fersiken gearfoegje dy't wizigingen tafoegje oan meardere bestannen, falle soms de ferskillen fan grutte bestannen yn om de renderprestaasjes te ferbetterjen. As dit bart, is it mooglik om per ongeluk in bestân oer te slaan by beoardieling, benammen by fúzjeoanfragen mei in grut oantal bestannen. Begjin mei ferzje 13.4 sille fúzjeoanfragen ferskillen markearje dy't ynfolde bestannen befetsje, sadat jo dizze bestannen net sille misse by koadebeoardieling. Foar noch gruttere dúdlikens binne wy fan plan om markearring ta te foegjen oan dizze bestannen yn in takomstige release. Bliuw op 'e hichte foar updates oer gitlab ticket #16047.
Yn 'e seksje fan ferskillen foar fúzjefersyk wurde grutte bestannen ynstoart om prestaasjes te ferbetterjen. By it kontrolearjen fan koade kinne guon bestannen lykwols mist wurde as de beoardieler troch de list mei bestannen rôlet, om't alle grutte bestannen ynstoart binne.
Wy hawwe in sichtbere warskôging tafoege oan 'e boppekant fan' e fúzjefersyk diff-side om brûkers te ynformearjen dat d'r in gearfoege bestân is yn dizze seksje. Op dizze manier sille jo gjin wizigingen misse oan it fúzjefersyk by it besjen.
Earder, doe't de primêre knooppunt fan in Gitaly-kluster offline gie, waarden de repositories op dat knooppunt markearre as allinich-lêzen. Dit foarkaam gegevensferlies yn situaasjes wêr't feroaringen wiene op 'e knooppunt dy't noch net replikearre wiene. Doe't it knooppunt wer online kaam, waard GitLab net automatysk weromset, en behearders moasten it syngronisaasjeproses manuell begjinne of gegevensferlies akseptearje. Oare situaasjes, lykas it mislearjen fan in replikaasjetaak op in sekundêre knooppunt, kinne ek resultearje yn ferâldere of allinich-lêzen repositories. Yn dit gefal bleau it repository ferâldere oant de folgjende skriuwoperaasje barde, wat de replikaasjetaak soe begjinne.
Om dit probleem op te lossen Praefect plant no in replikaasjetaak as it in ferâldere repository op ien knooppunt detektearret en de lêste ferzje fan it repository op in oar. Dizze replikaasjetaak hâldt it repository automatysk bywurke, en elimineert de needsaak om gegevens manuell te herstellen. Automatysk herstel soarget der ek foar dat sekundêre knooppunten gau bywurke wurde as in replikaasjetaak mislearret, ynstee fan te wachtsjen op de folgjende skriuwoperaasje. Om't in protte Gilaly-klusters in grut oantal repositories opslaan, ferminderet dit de tiid dy't behearders en betrouberens yngenieurs besteegje oan it herstellen fan gegevens nei in flater.
Derneist begjint automatyske reparaasje replikaasje fan repositories op elke nije Gitaly-knooppunt taheakke oan it kluster, en elimineert hânwurk by it tafoegjen fan nije knopen.
Effektive kommunikaasje yn GitLab is basearre op to-do-listen. As jo yn in opmerking wurde neamd, is it kritysk om nei in taak te springen en of te begjinnen wat te dwaan of it as foltôge te markearjen. It is ek wichtich om in taak oan josels tawize te kinnen as jo wat moatte wurkje of letter weromkomme.
Earder koene jo gjin taken tafoegje of markearje as foltôge by it wurkjen mei ûntwerpen. Dit fersteurde de effisjinsje fan kommunikaasje tusken produktteams serieus, om't taken in kritysk elemint binne fan 'e GitLab-workflow.
Yn release 13.4 komme ûntwerpen op mei kaartkommentaren by it brûken fan taken, wat it wurkjen mei har konsekwinter en effisjinter makket.
Wy hawwe de gids foar probleemoplossing foar GitLab CI / CD ferbettere mei mear ynformaasje oer mienskiplike problemen dy't jo kinne tsjinkomme. Wy hoopje dat de ferbettere dokumintaasje in weardefolle boarne sil wêze om jo te helpen GitLab CI / CD fluch en maklik te rinnen.
Earder koene fúzjeoanfragen per ûngelok út 'e fúzjewachtrige falle troch lette opmerkings. As in fúzjefersyk al yn 'e wachtrige stie en immen dêr in opmerking oan tafoege dy't in nije net oploste diskusje makke, waard it fúzjefersyk net yn oanmerking achte foar in fúzje en soe it út 'e wachtrige falle. No, nei't in fúzjefersyk is tafoege oan 'e fúzjewachtrige, kinne nije opmerkings tafoege wurde sûnder eangst om it fúzjeproses te fersteuren.
Untwikkelders moatte de dekkingswearde fan 'e koade kinne sjen nei't de pipeline foltôge is - sels yn komplekse senario's lykas it útfieren fan in pipeline mei meardere banen dy't moatte wurde parseard om de dekkingswearde te berekkenjen. Earder toande de widget foar fúzjefersyk allinich it gemiddelde fan dizze wearden, wat betsjutte dat jo nei de baanside moatte navigearje en werom nei it fúzjefersyk om tuskenlizzende dekkingswearden te krijen. Om jo tiid en dizze ekstra stappen te besparjen, hawwe wy makke dat de widget de gemiddelde dekkingswearde werjaan, syn feroaringen tusken de doel- en boarnetûken, en in tooltip dy't de dekkingswearde foar elke taak toant op basis wêrfan it gemiddelde waard berekkene.
It GitLab-pakketregister is in plak om pakketten yn ferskate formaten op te slaan en te fersprieden. As jo in protte pakketten yn jo projekt of groep hawwe, moatte jo net brûkte pakketten fluch identifisearje en ferwiderje om te foarkommen dat minsken se downloade. Jo kinne pakketten fuortsmite fan jo register fia Pakket API of fia de brûkersynterface fan it pakketregister. Jo koenen lykwols oant no ta gjin pakketten fuortsmite by it besjen fan in groep fia de UI. As resultaat moasten jo unnedige pakketten op in projektbasis fuortsmite, wat net effisjint wie.
Jo kinne no pakketten fuortsmite by it besjen fan it pakketregister fan in groep. Gean gewoan nei de pakketregistraasjepagina fan 'e groep, filterje de pakketten op namme, en fuortsmite wat jo net nedich binne.
Jo kinne it Conan-repository yn GitLab brûke om C/C++-ôfhinklikens te publisearjen en te fersprieden. Earder koene pakketten lykwols allinich skaalje nei it eksimplaarnivo, om't de Conan-pakketnamme mar in maksimum fan 51 tekens koe wêze. As jo bygelyks in pakket út in subgroep publisearje woene gitlab-org/ci-cd/package-stage/feature-testing/conan, it wie hast net te dwaan.
Jo kinne no Conan-pakketten skaalje nei it projektnivo, wêrtroch it maklik is om de ôfhinklikens fan jo projekten te publisearjen en te fersprieden.
Wy binne optein om ôfhinklikensscans foar C, C++, C# en .Net-koadeprojekten ta te foegjen dy't NuGet 4.9+ of Conan-pakketbehearders brûke oan ús list stipe talen en kaders. Jo kinne no it scannen fan ôfhinklikens ynskeakelje as ûnderdiel fan it Feilige poadium om te kontrolearjen op bekende kwetsberens yn ôfhinklikens tafoege fia pakketbehearders. De kwetsberens fûn wurde werjûn yn jo fúzjefersyk tegearre mei har earnstnivo, sadat jo witte foardat jo de fúzje útfiere hokker risiko's de nije ôfhinklikens meibringt. Jo kinne ek jo projekt konfigurearje om te fereaskje fusearje fersyk befêstiging foar ôfhinklikens mei kwetsberens mei kritysk (kritysk), hege (Heech) of ûnbekend (Unbekend) hurdensnivo's.
Earder, by it ynstellen fan de ynstellings foar fúzjefersyk Fúzje as de pipeline einiget (Fergearje wannear Pipeline slagget, MWPS) gjin e-postnotifikaasje waard ferstjoerd. Jo moasten de status manuell kontrolearje of wachtsje op in fúzjenotifikaasje. Mei dizze útjefte binne wy bliid dat wy brûkersbydragen hawwe @ravishankar2kool.
Net alle problemen dy't ûntsteane fuortendaliks triggers warskôgings: brûkers melde útbrekken en teamleden ûndersiikje prestaasjesproblemen. Ynsidinten binne no in soarte fan kaartsje, dus jo teams kinne se fluch meitsje as ûnderdiel fan har normale workflow. Klikje Nije taak fan oeral yn GitLab, en yn it fjild Typ útkieze Foarfal.
Wy hawwe GitLab-alarms ferbettere troch in nij fermeldingstype spesifyk foar har ta te foegjen yn GitLab Markdown, wêrtroch it makliker is om warskôgings te dielen en te neamen. Brûke ^alert#1234om de warskôging te neamen yn elk Markdown-fjild: yn ynsidinten, kaartsjes, of fúzjeoanfragen. Dit sil jo ek helpe om banen te identifisearjen dy't makke binne út warskôgings yn stee fan kaartsjes of fúzjeoanfragen.
De warskôgingsbeskriuwing befettet ynformaasje dy't kritysk is foar probleemoplossing en herstel, en dizze ynformaasje moat maklik tagonklik wêze, sadat jo gjin ark of ljeppers hoege te wikseljen as jo wurkje om in ynsidint op te lossen. Ynsidinten makke út warskôgings jouwe de folsleine warskôgingsbeskriuwing yn it ljepblêd Alert Details.
GitLab, as ienige applikaasje, hat de unike mooglikheid om ynhâld ûntdekking te meitsjen oer jo heule DevOps-workflow fluch. Yn GitLab 13.4 jout avansearre sykjen resultaten 75% rapper as it beheind ta bepaalde nammeromten en projekten, lykas op GitLab.com.
Der wie in opsje om it wiskjen fan projekt út te stellen yntrodusearre yn 12.6. Earder wie it lykwols net mooglik om alle projekten op ien plak te sjen dy't wachtsje op wiskjen. GitLab-brûkerseksimplaarbehearders kinne no alle wachtsjende wiskjeprojekten op ien plak besjen, tegearre mei knoppen om dy projekten maklik te herstellen.
Dizze funksje jout behearders gruttere kontrôle oer it wiskjen fan projekten troch alle relevante ynformaasje op ien plak te sammeljen en de mooglikheid te jaan om net-winske wiskjen-aksjes ûngedien te meitsjen.
Earder koenen groep push-regels allinich konfigureare wurde troch elke groep yndividueel te besykjen fia de GitLab UI en it tapassen fan dy regels. Jo kinne no dizze regels beheare fia in API om jo oanpaste ark en GitLab-automatisearring te stypjen.
Credential opslach Biedt behearders de ynformaasje dy't se nedich binne om brûkersbewizen foar har GitLab-eksimplaar te behearjen. Om't organisaasjes dy't rjochte binne op neilibjen ferskille yn 'e stringens fan har belied foar referinsjesbehear, hawwe wy in knop tafoege wêrmei behearders it persoanlike tagongstoken (PAT) fan in brûker opsjoneel kinne ynlûke. Behearders kinne no maklik potinsjeel kompromittearre PAT's ynlûke. Dizze funksje is nuttich foar organisaasjes dy't mear fleksibele opsjes foar neilibjen wolle om steuring foar har brûkers te minimalisearjen.
Yn GitLab 13.4 yntrodusearje wy in nije manier om de statyske side-bewurker oan te passen. Hoewol't it konfiguraasjetriem gjin ynstellings yn dizze útjefte bewarret of ûntfangt, lizze wy de basis foar takomstige oanpassing fan bewurkergedrach. Yn takomstige releases sille wy tafoegje oan it bestân .gitlab/static-site-editor.yml parameters foar ynstallaasje basis site adres, op hokker ôfbyldings laden yn de bewurker wurde opslein, oerskriuwe Markdown syntaksis ynstellings en oare bewurker ynstellings.
Front matter is in fleksibele en handige manier om sidefariabelen te definiearjen yn gegevensbestannen foar ferwurking troch de statyske side-generator. It wurdt typysk brûkt om de sidetitel, layoutsjabloan of skriuwer yn te stellen, mar kin brûkt wurde om elk type metadata troch te jaan oan de generator by it werjaan fan de side yn HTML. Opnaam oan 'e boppekant fan elk gegevensbestân, is it ynliedende diel typysk opmakke as YAML of JSON en fereasket konsekwinte en krekte syntaksis. Brûkers dy't net bekend binne mei spesifike syntaksisregels kinne per ongelok ûnjildich markearring ynfiere, wat op har beurt opmaakproblemen kin feroarsaakje of sels flaters bouwe.
De WYSIWYG-bewurkingsmodus fan de statyske side-bewurker ferwideret de yntro al út de bewurker om dizze opmaakflaters foar te kommen. Dit foarkomt jo lykwols de yn dit diel opsleine wearden te feroarjen sûnder werom te gean nei bewurkjen yn boarnemodus. Yn GitLab 13.4 kinne jo tagong krije ta elk fjild en syn wearde bewurkje yn in fertroude formulierbasearre ynterface. As de knop wurdt yndrukt Ynstellings (ynstellings) sil in paniel iepenje mei in formulierfjild foar elke kaai definieare oan it begjin. De fjilden wurde befolke mei de aktuele wearde, en it bewurkjen fan ien fan harren is sa ienfâldich as it ynfieren fan it yn it webformulier. It bewurkjen fan de yntro op dizze manier foarkomt komplekse syntaksis en jout jo folsleine kontrôle oer de ynhâld, wylst jo derfoar soargje dat it definitive resultaat konsekwint opmakke wurdt.
Foar Jira-brûkers op GitLab: GitLab app foar Jira и DVCS Connector kinne jo ynformaasje werjaan oer GitLab-commits en fersiken direkt yn Jira fusearje. Yn kombinaasje mei ús ynboude Jira-yntegraasje kinne jo maklik tusken de twa apps ferpleatse as jo wurkje.
Dizze funksjes wiene earder allinich beskikber yn ús Premium-plan, mar binne no beskikber foar alle brûkers!
In Gitaly-kluster lit jo Git-repositories replikearje nei meardere "waarme" Gitaly-knooppunten. Dit fergruttet fouttolerânsje troch it eliminearjen fan inkele punten fan mislearring. Transactional Operations, yntrodusearre yn GitLab 13.3, feroarsake feroarings dy't útstjoerd wurde nei alle Gitaly-knooppunten yn it kluster, mar allinich Gitaly-knooppunten dy't stimme yn oerienstimming mei de primêre node bewarje de wizigingen op skiif. As alle replika-knooppunten it net iens binne, sil mar ien kopy fan 'e feroaring wurde opslein op skiif, wêrtroch in inkeld punt fan mislearring ûntstiet oant asynchrone replikaasje is foltôge.
Mearderheidsstimmen ferbettert fouttolerânsje troch de tastimming fan in mearderheid fan knooppunten (ynstee fan alle) te easkjen foar it bewarjen fan wizigingen op skiif. As dizze skeakelfunksje ynskeakele is, soe it skriuwen moatte slagje op meardere knopen. Dissintearjende knopen wurde automatysk syngronisearre mei asynchrone replikaasje fan dy knopen dy't in kworum hawwe foarme.
Projekten wêr't minsken konfiguraasjes skriuwe yn JSON of YAML binne faak gefoelich foar problemen, om't it maklik is om in typflater te meitsjen en wat te brekken. It is mooglik om ynspeksje-ark te skriuwen om dizze problemen yn 'e CI-pipeline te fangen, mar it brûken fan in JSON-skemabestân kin nuttich wêze om dokumintaasje en hints te leverjen.
Projektdielnimmers kinne yn har repository it paad definiearje nei in oanpast skema yn in bestân .gitlab/.gitlab-webide.yml, dy't it skema en paad spesifisearret nei de te kontrolearjen bestannen. As jo in spesifyk bestân yn 'e Web IDE lade, sille jo ekstra feedback en validaasje sjen om jo te helpen it bestân oan te meitsjen.
As jo gebrûk meitsje fan conveyors mei rjochte acyclic grafyk (Directed Acyclic Graph (DAG)), kinne jo fine dat d'r in limyt is fan 10 banen dy't in baan kin oantsjutte yn needs:, te hurd. Yn 13.4 waard de standertlimyt ferhege fan 10 nei 50 om mear komplekse netwurken fan relaasjes tusken banen yn jo pipelines mooglik te meitsjen.
As jo in behearder binne fan in oanpaste GitLab-eksimplaar, kinne jo dizze limyt noch heger ferheegje troch in skeakelfunksje yn te stellen, hoewol wy hjir gjin offisjele stipe foar biede.
Yn guon gefallen kin in miste baan yn in pipeline ferkeard wurde beskôge as suksesfol foar ôfhinklikens spesifisearre yn needs, dy't feroarsake folgjende banen te rinnen, dat hie net barre moatten. Dit gedrach is reparearre yn ferzje 13.4, en needs behannelet no gefallen fan miste taken korrekt.
GitLab slút no automatysk de lêste suksesfolle baan en pipeline-artefakt op elke aktive tûke, fúzjefersyk of tag om foar te kommen dat it nei ferrint wiske wurdt. It wurdt makliker om agressivere ferfalregels yn te stellen om âlde artefakten op te romjen. Dit helpt te ferminderjen skiif romte konsumpsje en soarget derfoar dat jo altyd hawwe in kopy fan de nijste artefakt út de pipeline.
It optimalisearjen fan jo CI / CD-pipeline kin leveringssnelheid ferbetterje en jild besparje. Wy hawwe ús dokumintaasje ferbettere om in rappe hantlieding op te nimmen om it measte út it optimalisearjen fan jo pipelines te heljen.
Unit Test Report is in maklike manier om de resultaten fan alle testen yn in pipeline te sjen. Mei in grut oantal tests kin it finen fan mislearre tests lykwols lang duorje. Oare problemen dy't it rapport lestich meitsje kinne om te brûken omfetsje swierrichheden om troch lange spoarútgongen te rôljen en tiidôfrûning nei nul foar tests dy't yn minder dan 1 sekonde rinne. No, standert, by it sortearjen fan in testrapport, pleatst it earst mislearre tests oan it begjin fan it rapport, en sortearret de tests dan op tiid. Dit makket it makliker om mislearrings en lange tests te finen. Derneist wurde testduren no werjûn yn millisekonden of sekonden, wêrtroch't se folle flugger binne om te lêzen, en eardere scrollproblemen binne ek oplost.
D'r binne no limiten foar de grutte fan pakketbestannen dy't kinne wurde uploade nei it GitLab-pakketregister. Beheiningen binne tafoege om de prestaasjes fan pakketregister te optimalisearjen en misbrûk te foarkommen. Limiten fariearje ôfhinklik fan it pakketformaat. Foar GitLab.com binne maksimale triemgrutte:
Conan: 250 MB
Maven: 3GB
NPM: 300 MB
NuGet: 250 MB
PyPI: 3GB
Foar oanpaste GitLab-eksimplaren binne de standerts itselde. De behearder kin lykwols de beheiningen bywurkje mei Rails konsoles.
Jo kinne it GitLab PyPI-repository brûke om Python-pakketten te meitsjen, te publisearjen en te dielen tegearre mei boarnekoade en CI / CD-pipelines. Earder koenen jo lykwols net authentisearje nei it repository mei in foarôf definieare omjouwingsfariabele CI_JOB_TOKEN. As resultaat moasten jo jo persoanlike referinsjes brûke om it PyPI-repository te aktualisearjen, of jo hawwe miskien besletten om it repository hielendal net te brûken.
It is no makliker om GitLab CI/CD te brûken om PyPI-pakketten te publisearjen en te ynstallearjen mei in foarôf definieare omjouwingsfariabele CI_JOB_TOKEN.
Nei de DAST-scan op oanfraach wie dat yntrodusearre yn foarige release, DAST-scannerprofilen binne tafoege. Se wreidzje de konfiguraasjemooglikheden fan dizze scans út, sadat jo fluch meardere profilen kinne oanmeitsje om meardere scantypen te dekken. Yn 13.4 omfettet it crawlerprofyl natuerlik in crawler-timeout-ynstelling dy't ynstelt hoe lang de DAST-crawler moat rinne as it besiket alle siden fan in crawle side te ûntdekken. It profyl omfettet ek in doelside-timeout-ynstelling om yn te stellen hoe lang de crawler moat wachtsje op in side om tagonklik te wurden foardat de crawl ôfbrekke as de side net reagearret mei in statuskoade 200 of 300. As wy trochgean mei ferbetterjen sil dizze funksje wêze tafoege oan it scannerprofyl yn takomstige releases; ekstra konfiguraasjeparameters sille wurde tafoege.
As jo GitLab-siden brûke en URL-wizigingen better wolle beheare, hawwe jo miskien opfallen dat it behearen fan trochferwizings op jo GitLab-siden-side net mooglik wie. GitLab lit jo no regels konfigurearje om de iene URL nei de oare foar jo Pages-side troch te litten troch in konfiguraasjetriem ta te foegjen oan it repository. Dizze funksje is mooglik makke troch de bydrage fan Kevin Barnett (@PopeDrFreud), ús Eric Eastwood (@MadLittleMods) en GitLab-teams. Tank elkenien foar jo ynput.
Tagong ta eardere ferzjes fan Terraform steat is nedich sawol foar neilibjen en foar debuggen as nedich. Stipe foar ferzje fan Terraform-steat beheard troch GitLab wurdt levere te begjinnen mei GitLab 13.4. Ferzjebewurking wurdt automatysk ynskeakele foar nije Terraform-statusbestannen. Besteande Terraform-steatbestannen sille wêze automatysk migrearre nei ferzjeearre repository yn in lettere útjefte.
By it ferwurkjen fan ynsidinten moatte jo maklik kinne bepale hoe lang in warskôging iepene wie en hoefolle kearen it barren is trigger. Dizze details binne faak kritysk by it bepalen fan de ynfloed op 'e klant en wat jo team earst moat oanpakke. Yn it nije paniel foar ynsidintdetails toane wy de begjintiid fan 'e warskôging, it oantal eveneminten en in keppeling nei de orizjinele warskôging. Dizze ynformaasje is beskikber foar ynsidinten dy't wurde generearre út warskôgings.
De diminsje fan ynsidint Severity lit responders en belanghawwenden de ynfloed fan in ûnderbrekking bepale, lykas de metoade en urginsje fan it antwurd. As jo team resultaten dielt tidens ynsidintoplossing en herstel, kinne se dizze ynstelling feroarje. Jo kinne no de earnst fan in ynsidint bewurkje yn 'e rjochter sydbalke fan' e Incident Details side, en de earnst wurdt werjûn yn 'e list mei ynsidinten.
Dizze ferbettering fan 'e Container Network Security Rule Editor lit brûkers har regels maklik meitsje, bewurkje en wiskje direkt fan' e GitLab brûkersynterface. Editor funksjes omfetsje .yaml foar betûfte brûkers en in regels bewurker mei in yntuïtive ynterface foar dy nije oan netwurk regels. Jo kinne nije opsjes foar regelsbehear fine yn 'e seksje Feiligens en neilibjen> Threat Management> Regels (Feiligens en neilibjen > Bedrigingsbehear > Belied).
Sawol GitLab as GitLab Runner stypje no Azure blob opslach, wêrtroch it makliker is om GitLab-tsjinsten op Azure út te fieren.
GitLab-eksimplaren stypje Azure foar alle soarten objektwinkels, ynklusyf LFS-bestannen, CI-artefakten, en backups. Om Azure Blob-opslach yn te stellen, folgje de ynstallaasje-ynstruksjes Omnibus of Helm chart.
As antwurd op groeiende fraach nei stipe foar it útfieren fan GitLab op 64-bit ARM-arsjitektuer, binne wy bliid om de beskikberens fan it offisjele ARM64 Ubuntu 20.04 Omnibus-pakket oan te kundigjen. Enorme tank oan Zitai Chen en Guillaume Gardet foar de enoarme bydragen dy't se makken - har fúzjeoanfragen spile hjir in wichtige rol!
Om it pakket foar Ubuntu 20.04 te downloaden en te ynstallearjen, gean nei ús ynstallaasje side en selektearje Ubuntu.
Slimkaarten, lykas Common Access Cards (CAC), kinne no brûkt wurde om te ferifiearjen nei in GitLab-eksimplaar ynset fia Helm-diagram. Smart cards wurde authentisearre tsjin in lokale databank mei help fan X.509 sertifikaten. Hjirmei is smart card-stipe mei Helm-diagram no yn oerienstimming mei de smart card-stipe beskikber yn Omnibus-ynset.