GitHubGitHub is een Open Source ontwikkelplatform dat in 2008 is opgericht. In 2018 heeft Microsoft GitHub overgenomen en inmiddels wordt het platform door meer dan 56 miljoen geregistreerde ontwikkelaars gebruikt. De ontwikkelingen gaan razendsnel en GitHub neemt een steeds belangrijkere rol in in het werk van Microsoft developers.

GitHub is een ontwikkelplatform waarmee je jouw code kunt hosten, software kunt bouwen met automatische builds, jouw applicaties automatisch kunt deployen, omgevingen automatisch kunt opzetten, handmatige werkzaamheden kunt automatiseren en jouw projecten kunt beheren.

GitHub is vooral bekend geworden dankzij de open source community voor ontwikkelaars, maar kan ook gebruikt worden door organisaties waarbij de projecten privé blijven en alleen toegankelijk zijn voor geautoriseerde personen.

Git vs. GitHub

De termen Git en GitHub worden vaak door elkaar gebruikt. Git is een gedistribueerd versiebeheersysteem, waarmee meerdere ontwikkelaars samen aan code kunnen werken. Met een ontwikkelaar bedoelen we hier iemand die aan code werkt, dit kan dus ook een beheerder zijn die code gebruikt om de infrastructuur mee op te bouwen. GitHub is een cloud-platform dat Git als onderliggende technologie gebruikt. Je kunt GitHub eenvoudig gezegd zien als een online opslagplaats voor je Git repositories.

GitHub biedt meer features dan alleen het opslaan van Git repositories. Naast alleen het versiebeheer biedt GitHub veel meer features. Deze features omvatten onder andere:

Github samenwerken aan codeSamenwerken aan code

Bij GitHub ligt de focus in de basis op het samenwerken aan code. GitHub is al vele jaren een bekend platform onder ontwikkelaars. GitHub is wereldwijd het meest gebruikt ontwikkelplatform, waar al vele jaren samen wordt gewerkt aan veel verschillende Open Source projecten.

Pull Requests en code review

Met Pull Requests kan je aan andere ontwikkelaars (of andere gebruikers) aangeven dat je wijzigingen hebt aangebracht aan een branch. Bij een Pull Request kunnen discussies gevoerd en bijgehouden worden, code reviews uitgevoerd worden en code aanpassingen gedaan worden aan de hand van deze discussies en code reviews.

Issues

Gebruikers van jouw applicatie kunnen hiermee bijvoorbeeld problemen, wensen of onduidelijkheden in documentatie indienen als issue. Deze issues kunnen worden toegewezen aan een of meerdere ontwikkelaars, kunnen gekoppeld worden aan pull request of andere items binnen GitHub.

Codespaces

Een complete online ontwikkelomgeving die beschikbaar is in jouw browser. Een codespace bevat alle onderdelen die je nodig hebt om te werken aan een specifieke repository. Het omvat een teksteditor inclusief syntax highlighting en auto-complete, debugging tools en Git commando’s. Een repository kan zo geconfigureerd worden, dat alle afhankelijkheden meegenomen worden bij het aanmaken van een codespace. Hierdoor kunnen nieuwe ontwikkelaars heel snel beginnen met het bijdragen aan jouw software. En dit alles direct vanuit en in de cloud, waarmee het altijd en overal beschikbaar is. Met als bijkomend voordeel dat ontwikkelaars geen kopie van uw intellectuele eigendom hebben.

  GitHub Automatiseren en CI/CDAutomatiseren en CI/CD

Naast het samenwerken aan code, biedt GitHub steeds meer functionaliteiten om alles rondom het schrijven van code te automatiseren.

GitHub Actions

Met GitHub Actions kun je taken in jouw software development lifecycle automatiseren. Met GitHub Actions kun je bijvoorbeeld de hele CI/CD workflow automatiseren. Zodat een commit van de code automatisch zorgt voor het bouwen, testen en deployen van jouw software.

Naast de CI/CD workflow is het ook mogelijk om met GitHub Actions routine taken te automatiseren, zoals het automatisch labelen van Pull Requests of het sluiten van issues of Pull Requests die al lang open staan.

GitHub Packages

Veel applicaties maken gebruik van packages of libraries. Dit zijn kant en klare onderdelen code, die eenvoudig hergebruikt kunnen worden. Dit kunnen open source projecten zijn, maar kunnen ook zelf ontwikkelde packages binnen jouw organisatie zijn. Met GitHub Packages kun je deze packages veilig opslaan en gebruiken samen met jouw code.

GitHub advanced securityAdvanced Security

GitHub biedt meerdere functies aan op het gebied van Security. De kracht van GitHub is dat deze functies ingebouwd zijn, het wordt dus altijd uitgevoerd op al jouw code. Enkele voorbeelden zijn:

Code Scanning

Iedere aanpassing aan jouw code wordt automatisch gescand op beveiligingsproblemen.

Dependabot alerts

Kwetsbaarheden in libraries of packages worden gemeld zodra ze bekend zijn. GitHub scant jouw code op het gebruik van externe libraries en meld het zodra er kwetsbaarheden in de gebruikte versie van deze libraries zijn gevonden.

Dependabot Pull requests

Als aanvulling op de alerts, kan Dependabot automatisch pull requests aanmaken met een voorgestelde oplossing.

Secret scanning

Iedere ontwikkelaar heeft ermee te maken: inloggegevens en andere secrets die nodig zijn om uw applicaties goed en veilig te laten werken. Je wilt voorkomen dat deze secrets in jouw source code staan en zo door andere te lezen zijn. GitHub scant jouw code op deze secrets en melden het zodra deze in jouw code zijn gevonden. GitHub kan voor sommige providers zelfs direct actie ondernemen door de betreffende secrets in te laten trekken zodra deze in een repository is gevonden.

GitHub Project ManagementProject Management

Veel zaken rondom het samenwerken aan code kun je visueel weergeven met GitHub Projects, waarin je kunt werken met Project Boards. Op deze borden kun je al het werk voor jouw team organiseren en prioriteren. Deze Project Boards zijn heel flexibel, waardoor je deze bijvoorbeeld kunt gebruiken voor het opstellen en publiceren van roadmaps of het maken van checklists.

GitHub

GitHub combineren met Azure DevOps

Qua functionaliteit bieden Azure DevOps en GitHub veel vergelijkbare mogelijkheden. GitHub is momenteel volop in ontwikkeling en de mogelijkheden worden snel uitgebreid. Beide ontwikkelplatformen hebben zo hun eigen voordelen. De Advanced Security onderdelen van GitHub vinden wij bijvoorbeeld heel krachtig. Die functionaliteit is en komt niet beschikbaar in Azure DevOps. Aan de andere kant biedt Azure DevOps momenteel nog veel meer mogelijkheden in de Agile tools met Azure Boards.

Azure DevOps en GitHub werken echter heel goed samen. Zo kun je bijvoorbeeld de code en automatisering van GitHub gebruiken, maar al het werk wat hiervoor nodig is bijhouden in Azure DevOps. Je kunt work items in Azure DevOps koppelen met Code en Actions in GitHub, waardoor de traceerbaarheid op orde blijft. Een combinatie van Azure DevOps en GitHub is dus heel goed mogelijk.

Starten met GitHub

Twijfel je over een mogelijke stap naar GitHub? Lees dan ons blog overstappen van Azure DevOps naar GitHub: wel of niet doen?

Meer weten over de mogelijkheden van GitHub voor jouw organisatie of hoe je Azure DevOps en GitHub kunt combineren? Neem contact met ons op via onderstaand formulier.

Neem contact met ons op over GitHub

  • Antoin van der Ben

    Account Manager

    Plan een meeting

    • LinkedIn
    • Mail
    • Telefoon
    Bel: 085 – 487 52 23
    E-mail: antoinvdb@delta-n.nl
    Connect met Antoin
    invisible box