Gitlab 12.0: visuele reviews en een beter overzicht van project dependencies

Maarten Draijer

Op 22 juni werd GitLab versie 12.0 alweer gereleased. Zoals je van ons gewend bent, duiken we in deze blogpost in de nieuwe en geüpdatete features van deze versie. Ben je benieuwd wat GitLab deze maand voor ons in petto heeft? Lees dan even mee!

1 van de pijlers van GitLab is het ontwikkelen van een oplossing waar iedereen mee kan werken, van ontwikkelteams tot beveiliging en operations. GitLab moet teams in staat stellen om gezamenlijk zo efficiënt mogelijk de mooiste software te bouwen.

En dat niet alleen, want GitLab zelf wordt ook constant onderhouden en verbeterd door de online community: duizenden ontwikkelaars over de hele wereld zorgen ervoor dat GitLab 1 van de meest geliefde repository managers ter wereld is en blijft.

Ook in deze nieuwste release is daar weer met man en macht aan gewerkt. Hoe precies? Dat laten we hieronder zien.

Visual Review

Met reviews in GitLab kon je al eenvoudig voorgestelde wijzigingen, zogenaamde merge requests, in het design of de user experience van je applicatie laten evalueren en goedkeuren door anderen. Daarvoor konden ontwikkelaars review apps maken, zodat iedereen kon zien hoe design en gebruikservaring zijn aangepast.

In de nieuwste versie kunnen nu eenvoudig visuele reviewtools worden toegevoegd. Dankzij een klein stukje code krijgen designers, product managers en andere stakeholders de mogelijkheid om snel feedback te geven op een merge request, zonder dat ze de app hoeven te verlaten. Dat is handig, want zo worden review processen gestroomlijnd en versneld.

Lijst van afhankelijke projecten

Projecten bestaan normaal gesproken uit verschillende componenten. Dat kan risico’s met zich meebrengen, bijvoorbeeld als er geen overzicht is uit welke componenten zo’n project bestaat. Om die reden geeft GitLab nu de mogelijkheid om ten alle tijde een lijst in te zien van alle dependencies van een bepaald project, zoals soms gevraagd wordt door security- en compliance-teams.

Toegang weigeren op basis van IP-adres

Voor sommige organisaties is het belangrijk dat ze bezoekers met onbekende IP-adressen toegang tot hun GitLab-data kunnen weigeren. In deze versie is dat nu mogelijk. Organisaties kunnen ervoor kiezen om IP-adressen buiten die van henzelf te blokkeren, zodat die geen toegang hebben tot hun repositories. Strakke controle houden over de meest belangrijke code van je organisatie is daarmee makkelijker dan ooit.

Bestanden synchroniseren naar de Web Terminal

De Web IDE werd in GitLab versie 10.7 al geïntroduceerd: een editor waarmee je sneller en makkelijker veranderingen in je projecten doorvoert. Deze veranderingen worden nu ook automatisch gesynchroniseerd met de Web Terminal. Een Web Terminal is een functionaliteit die je in staat stelt om fouten op te sporen en weg te halen in je eigen browser. Hierdoor hoeft een ontwikkelaar niet zijn eigen browser te verlaten.

Omdat de veranderingen die gemaakt zijn in de Web IDE nu automatisch ook doorgevoerd worden in de Web Terminal, wordt het voor nieuwe bijdragers een stuk gemakkelijker om mee te werken aan een project. Zij kunnen nu namelijk de code bekijken, bewerken en testen, zonder dat ze eerst allerlei local dependencies hoeven te installeren.

Git integratie met JupyterHub

De Jupyter Notebook is een open-source webapplicatie waarmee je documenten met onder andere live code kunt maken en delen. In GitLab 12.0 is er een JuypterLab’s Git-extensie gebouwd die automatisch wordt toegevoegd en geconfigureerd wanneer JupyterHub op je Kubernetes-cluster wordt geïnstalleerd. Met deze integratie hebben ontwikkelaars volledige version control over hun notebooks. Bovendien kunnen vanuit Jupyter direct zogenaamde opdrachten voor GitLab-projecten worden uitgegeven. Met deze integratie wordt het dus een stuk makkelijker om gebruik te maken van de vele voordelen die Jupyter biedt.

Uitgebreide ondersteuning voor extends keyword

Met het extends keyword kunnen gebruikers hun GitLab CI/CD code dry houden. Dry staat voor Don’t Repeat Yourself: een principe waarbij je zo min mogelijk code herhaalt. Met het keyword kunnen bepaalde code-onderdelen opgeschoond en samengevoegd worden.

In GitLab 12.0 is het nu mogelijk om meerdere extends aan één job toe te voegen. Een mooie aanvulling, want de meerdere extends kunnen zorgen voor mooie, gestroomlijnde code en veel meer overzicht.

Opeenvolgende merge trains

De master of release branches in een Gitlab-project zouden altijd groen moeten zijn: een indicatie dat de test voor een merge request is geslaagd. In de nieuwe versie is er een nieuwe manier geïntroduceerd om die master of release branches groen te houden: door middel van merge trains. Hiermee kunnen pipelines in een bepaalde volgorde worden gezet.

Op de GitLab-workflow en het gebruik van kleuren hierin komen we nog terug in een komende blogpost.

Inklapbare job logs

In GitLab 12.0 is het nu mogelijk om de output van CI/CD-jobs in Gitlab in en uit te klappen. Hiermee kunnen gebruikers sneller bepaalde stappen in de jobs debuggen. Daarnaast zorgt de in- en uitklapbare code voor meer overzicht van de belangrijke stappen in een job.

Apart e-mailadres voor groepsnotificaties

In de nieuwe GitLab-versie is de mogelijkheid toegevoegd om een apart e-mailadres aan te wijzen voor groepsupdates. Hiermee kunnen gebruikers aparte notificaties naar aparte e-mailadressen versturen.

Bijdragen bekijken en accepteren in database met kwetsbaarheden

Ontwikkelaars kunnen nu ook inzien en verifiëren welke kwetsbaarheden in de code automatisch zijn geïdentificeerd door de GitLab-scanners.

Voeg een reden toe waarom kwetsbaarheden worden afgewezen

Negeert een ontwikkelaar de geïdentificeerde kwetsbaarheid? Dan kan hij of zij aangeven waarom de kwetsbaarheid wordt afgewezen. Op die manier communciceren ontwikkelaars en veiligheidsteams beter over de reden waarom bepaalde items niet zijn opgepakt.

Tot slot..

Zoals je ziet is er ook in deze versie weer hard gewerkt aan het verbeteren van GitLab. De grootste wijzigingen zijn de visual reviews en de lijst van afhankelijkheden binnen projecten.

Jouw nieuwe GitLab instance is binnen 5 minuten online
Registreer