Source-code in eigen beheer met Git
Dirk Jan Laros · 2 minuten leestijd · Gepubliceerd op 27-9-2024

Source-code in eigen beheer met Git

In een tijd waarin bedrijven streven naar innovatie op het gebied van software, rijzen er verschillende vragen. Traditionele on-device software maakt steeds vaker plaats voor web-based oplossingen. Dit biedt veel voordelen zoals gemakkelijke toegankelijkheid en de mogelijkheid om software uit te rollen op verschillende apparaten (desktop, tablet, smartphone). Maar hoe zit het met de veiligheid van online software? Kunnen concurrenten broncode inzien of zelfs broncode kopiëren?

In deze blog richten we ons op deze vragen, met als hoofdvraag: welk source-code beheersysteem leent zich het beste voor closed-source websoftware? Aan het einde van dit artikel bespreken we ook enkele technische details voor de techneuten onder ons.

Blijven er vragen over? Neem gerust de moeite om contact met ons te leggen. Wij staan graag voor u klaar.

Versiebeheersystemen

Er zijn verschillende versiebeheersystemen beschikbaar voor zowel open-source als closed-source webdevelopment. De twee populairste systemen voor webdevelopment zijn Github en Gitlab. Beide platforms hebben een clouddienst en een enterprisedienst.

GitHub.com

GitHub werd opgericht in 2008 door Tom Preston-Werner, Chris Wanstrath, PJ Hyett en Scott Chacon. Het platform is gebaseerd op Git. Git is een versiebeheersysteem ontwikkeld door Linus Torvalds.

GitHub.com biedt verschillende beveiligingsfuncties zoals code scanning, secret scanning en Dependabot alerts om kwetsbaarheden in de broncode te detecteren en te verhelpen. Het betekent dus dat het platform code scant en gebruiken kan. Het platform biedt naast openbare repositories ook gratis private repositories met beperkte functies en uitgebreide mogelijkheden via betaalde abonnementen aan. Aan alles is te merken dat Github is gebouwd voor grotere teams en grotere communities. Samenwerking wordt ondersteund via pull requests, code reviews en GitHub Discussions voor communicatie binnen teams. Met meer dan 100 miljoen gebruikers wereldwijd heeft GitHub een van de grootste ontwikkelaarsgemeenschappen. Bovendien loopt Github voorop met AI-programmeren door middel van Github Copilot.

Github Enterprise

Naast het platform github.com kan GitHub Enterprise on-premise worden gehost, wat bedrijven de mogelijkheid biedt om hun code binnen hun eigen infrastructuur te beheren. Dit is echter alleen mogelijk in samenwerking met Github Sales zelf en niet met een ontwikkelaar zoals wij.

GitLab.com

GitLab werd in 2011 opgericht door de Nederlandse ontwikkelaar Sytse Sijbrandij en de Oekraïense ontwikkelaar Dmytro Zaporozhets, waardoor het bedrijf mede van Nederlandse oorsprong is.

GitLab.com biedt uitgebreide beveiligingsfuncties zoals Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST) en Dependency Scanning. Het platform biedt ook gratis private repositories met onbeperkte samenwerkingsmogelijkheden en extra functies via betaalde abonnementen. Samenwerking wordt ondersteund via merge requests, code reviews en ingebouwde CI/CD-pijplijnen. GitLab heeft meer dan 30 miljoen geregistreerde gebruikers en een actieve gemeenschap van meer dan 3.300 codebijdragers. Daarmee is het een erg actieve community en voor de meeste bedrijven een stabiele basis om op te werken.

Gitlab Enterprise

Wat GitLab vooral interessant maakt is dat het gratis en zelfstandig on-premise kan worden gehost. Bedrijven hebben dus de mogelijkheid om hun code 100% op hun eigen infrastructuur te draaien. Dit kan wel door ontwikkelaars als wij worden geregeld.

Andere Versiebeheersystemen

Naast GitHub en GitLab zijn er nog andere versiebeheersystemen die de moeite waard zijn om te overwegen. Bitbucket, eigendom van Atlassian, biedt zowel Git als Mercurial repositories en ondersteunt private repositories. Het integreert naadloos met andere Atlassian-tools voor projectmanagement, zoals Jira en Confluence.

Mercurial is een gedistribueerd versiebeheersysteem dat bekend staat om zijn snelheid en efficiëntie, en wordt vaak gebruikt voor grote codebases, maar zover wij weten is het niet zo populair voor webdevelopment.

Subversion (SVN) is een centraal versiebeheersysteem dat populair is in veel bedrijven en biedt sterke beveiligingsopties en uitgebreide mogelijkheden voor on-premise hosting. Dit systeem is echter al relatief oud waardoor er minder mensen zijn te vinden die hier kundig genoeg voor zijn.

Welk versiebeheersysteem is het meest geschikt?

Dit is een vraag die een erg gekleurd antwoord zal krijgen door de specifieke programmeur die u het vraagt. Ieder bedrijf heeft zijn eigen voorkeur. Wij adviseren onze klanten zowel GitHub of GitLab. GitHub adviseren wij voor bedrijven die open-source werken of geen voorkeur hebben waar hun broncode wordt opgeslagen, maar vooral meer waarde hechten aan flexibiliteit in samenwerken en deployen. GitLab (Enterprise) adviseren wij voor bedrijven die veel waarde hechten aan het weten waar de broncode staat.

Heeft u vragen over versiebeheer? Neem gerust de moeite om contact met ons te leggen. Wij staan graag voor u klaar.


Voor de techneuten een aantal technische tips als je Gitlab gebruikt

We zijn door de jaren heen al tegen heel wat verschillende problemen aangelopen als je software packages private wilt serveren. Hieronder hebben we een aantal foutcodes opgesomd en voorzien van de beste oplossingen. Mocht de oplossing niet werken, laat het ons zeker even weten!

Invalid credentials for 'https://GITLABDOMAIN/api/v4/group/<group-id>/-/packages/composer/packages.json', aborting.

Oplossing

  • Maak een Deploy token aan.
Could not fetch https://GITLABDOMAIN/api/v4/projects/<group-id>/packages/composer/archives/<vendor-name>/<your-package-name>.zip

Oplossing

  • Maak een Deploy Key aan voor de groep van je package. Let op, je wordt hoogstwaarschijnlijk gevraagd in te loggen met je credentials, maar doe dit niet!

Snel aan de slag!
Of nog een vraag?

stuur een e-mail naar
info@q2-software.nl
of bel 085 06 06 133

Ontdekken

Ontdek handige bronnen, kennis en (gratis) gereedschap.

Meest recente blogs