Header_GitHub_DevOps

Hoe GitHub DevOps-teams bij elkaar brengt

Sarah Dols

Eigenlijk is een code nooit af.  Eisen van de gebruikers veranderen met de minuut en dat zorgt ervoor dat de code van jouw ICT- oplossing continu in de ontwikkelingsfase zit. Dit klinkt in principe als een logisch verhaal. Echter gaat het ontwikkelen en implementeren van de veranderingen die nodig zijn niet altijd even soepel.

Het ontwikkelingsteam en operationele team kunnen namelijk niet altijd even efficiënt samenwerken. Daarnaast worden veranderingen en de verschillende versies van de code niet altijd even goed bijgehouden. De oplossing? Een DevOps (Development & Operations)-team dat met elkaar samenwerkt middels een Git, ofwel versiebeheersysteem. In deze blog vertellen we wat een Git inhoudt en hoe het versiebeheersysteem GitHub teams helpt efficiënter samen te werken.

Wat is Git?

Voor we je meenemen in de wondere wereld van het platform GitHub, nemen we een kijkje naar het eerste deel van de naam: Git, want wat is dat dan? Simpel gezegd is Git een open source versiebeheersysteem, ofwel broncode managementsysteem. Dit systeem is ontwikkeld door Linus Torvalds speciaal voor de ontwikkeling van de Linuxkernel.  Het systeem van Git wordt vandaag de dag voornamelijk gebruikt door software-programmeurs. Ben je zelf nou geen softwareprogrammeur maar wil je wel met Git aan de slag? Geen probleem! Naast het ontwikkelen en implementeren van software, wordt Git ook ingezet voor bijvoorbeeld Infrastructure as Code.

De voordelen van een Git

Dus, Git is een versiebeheersysteem ontwikkeld door Torvalds. Maar wat doet een versiebeheersysteem dan precies? Een versiebeheersysteem houdt eigenlijk bij welke veranderingen er in een bepaald bestand worden gemaakt. Dit bestand is vaak een lap code. Dit bijhouden van de veranderingen zorgt ervoor dat jij altijd eerdere versies van het bestand kan terugvinden. Zie het een beetje als de optie “wijzigingen bijhouden” in Word.

Naast dat je met het gebruik van een versiebeheersysteem de gemaakte wijzigingen bijhoudt, krijg je ook inzicht in wie deze wijzigingen doorvoert. Het grote voordeel hiervan? Wanneer er door iemand een foutje wordt gemaakt in de broncode of het bestand raakt helemaal kwijt, kan dit makkelijk worden hersteld door de eerdere versie terug te halen.

Dus dat is Git, wat is dan Hub?

Eén van de meest gebruikte versiebeheersystemen wereldwijd is GitHub. GitHub is een online versiebeheersysteem gebaseerd op Git. Wat Git is, hebben we hiervoor al besproken, maar wat is dan Hub? Hub wilt eigenlijk zeggen dat GitHub een soort plein is waar alle teamleden samenkomen. Op dit plein werken de ontwikkelaarskant en implementatiekant samen aan de code.

Hierdoor kan een team hechter en sneller samenwerken waardoor betere resultaten worden behaald. Door als een team gebruik te maken van het GitHub platform, ontstaat er met name een hechtere samenwerking tussen de ontwikkelingskant als de operationele kant van de software. Deze samenwerking tussen de 2 kanten van software noemen we ook wel DevOps.

Hoe werkt GitHub dan?

Je bent net op een nieuw project gezet bij je opdrachtgever. Binnen dit project werk je samen met verschillende teamleden. Omdat er veel aspecten komen kijken bij het project, maakt je team gebruik van GitHub. Nadat je een kijkje hebt genomen naar de broncode en de werking van de code komt er een geniaal idee in je op. Dit idee is volgens jou dé toevoeging op de software waar alle klanten op zitten te wachten. Hoe leg je dit idee voor aan de andere teamleden? Gelukkig maar dat je team gebruik maakt van GitHub! Hier kan je namelijk gemakkelijk een issue indienen om je idee voor te leggen aan je collega’s.

Een issue is een mogelijkheid tot discussie waar teamleden kleine foutjes kunnen melden, features kunnen verzoeken of simpelweg vragen stellen. De andere teamleden kunnen vervolgens reageren op de ingediende issue. Zo kunnen teamleden taken verdelen en overleg voeren voor bijvoorbeeld het toevoegen van veranderingen in de broncode, en dus de software.

Het indienen van issues is iets specifieks voor GitHub, maar verder werkt het systeem eigenlijk hetzelfde als andere Git-diensten:

Je teamleden zijn het unaniem eens met je geniale idee en besluiten het te vertalen in code. Er gaat dus een verandering plaatsvinden in de software. Het is hierbij natuurlijk wel belangrijk dat de gebruikers van de software geen onderbrekingen ondervinden wanneer de verandering wordt doorgevoerd in de code. Hiervoor maakt je team een aparte branch aan van de code. Deze branch fungeert als testlab waar teamleden vrij kunnen experimenteren met de nieuwe code.

De softwareontwikkelaar van je team heeft de verandering doorgevoerd in het testlab. Hij is er klaar voor om de rest van het team te laten zien wat hij heeft gedaan, en hoe dat zich door vertaalt in de software. Deze veranderingen deelt hij door middel van een pull request. Met een pull request laat je aan de rest van het team zien welke veranderingen je hebt gemaakt, om deze samen te bespreken en te kijken naar eventuele verbeterpunten. Vervolgens kunnen de teamleden hun voorstellen voor verbeteringen zelf doorvoeren in de branch-code om zo te laten zien wat zij bedoelen.

Zodra het team het eens is over de gemaakte veranderingen, kunnen deze worden toegevoegd in de originele broncode waardoor de nieuwe software voor alle gebruikers toegankelijk wordt.

Extra voordelen van GitHub

We hebben het al even benoemd, maar GitHub is dus een online Git-dienst. De projecten die jij daar samen met jouw team in hebt staan, bevinden zich dus niet op jouw computer maar…online! Hierdoor kunnen de projecten altijd en overal worden bereikt, en ben je de projecten niet meteen kwijt wanneer je computer besluit er mee op te houden.

Maak je je zorgen over de kwetsbaarheid van je code? Ook daar heeft GitHub een uitstekende oplossing voor! Het systeem maakt het ontdekken van kwetsbaarheden namelijk makkelijker voor je. Het is zelfs mogelijk om GitHub waarschuwingsmails te laten versturen als het een kwetsbaarheid ontdekt. Mede door deze mails is het voor jou makkelijker om deze kwetsbaarheden te tackelen.

Wil jij al je ideeën delen met de wereld via je eigen blog? Ook deze blog kan je volledig inrichten met GitHub. Alles draait om de code die jij schrijft en wat jij met de code wilt doen.

X-talent en GitHub.

Als de nieuwsgierige aagjes die zij zijn, zijn onze Consultants ook aan de slag gegaan met GitHub. Binnen de X-talent omgeving wordt het platform vooral gebruikt als middel voor Infrastructure as Code. Onze Consultants zijn nu nog te vinden op GitHub om er flink mee te oefenen, maar later kan het systeem ook grootschalig worden ingezet voor verschillende projecten. Door nu te oefenen in onze eigen GitHub ruimte leren onze Consultants van, én met elkaar. Mede door GitHub zorgen wij ervoor dat onze Consultants klaar worden gestoomd voor DevOps!

Benieuwd wat onze Consultants en GitHub kunnen betekenen voor jouw organisatie? Neem hier contact met ons op voor meer informatie!

Wil jij ook aan de slag met GitHub? Op de website van GitHub vind je een “hello world” uitleg waarmee je een klein begin maakt binnen het GitHub platform.

Ook Udemy heeft GitHub cursussen die jou helpen de GitHub master te worden!

« Terug naar overzicht

Meer informatie?
Wij bellen je graag terug.