Hoe bouw je een oplossing met GitHub Actions?

GitHub Actions automatiseert het softwareontwikkelingsproces onder hetzelfde dak waar code, pull-requests en issues samenkomen. Ontwikkelaars kunnen individuele taken schrijven, die bekend staan als Actions, en deze samenvoegen om een aangepaste workflow te creëren. Verder worden workflows beschreven als een aangepast geautomatiseerd proces dat je helpt bij het instellen van een repository om codeprojecten op GitHub te bouwen, verpakken, vrijgeven, testen en implementeren.

Development
21 augustus 2020
Martijn van der Put

Wat kun je met GitHub Actions?

Met GitHub Actions kun je end-to-end mogelijkheden voor continue integratie (CI) en continue implementatie (CD) rechtstreeks in uw repository ontwikkelen. GitHub-workflows kunnen actief worden uitgevoerd op Linux, Windows, macOS en op GitHub gehoste machines. Je kunt eenvoudig Actions ontdekken die passen bij je workflow op GitHub en snel Actions bouwen om te delen met de vertrouwde GitHub-gemeenschap.


Hoe bouw je een oplossing met GitHub Actions?

Om aan de slag te gaan met GitHub Actions, bouwen we eerst een kleine webapplicatie om te zien hoe het werkt. Voor het bouwen van een basisoplossing met behulp van .NET Core-implementatie zijn de volgende stappen vereist: 

  1. Maak een nieuwe GitHub-repository aan.
  2. Kloon deze naar lokale bestanden.
  3. Navigeer naar de nieuwe directory. 
  4. Voert dotnet new webapp uit. 
  5. Werk het .gitignore-bestand bij.
  6. Implementeer de eerste versie van de code.
  7. Maak verbinding met de externe repository op GitHub.


Werken met GitHub Actions

Tegenwoordig is GitHub Actions gratis voor openbare repositories. Voor private repositories ontvangt elke accounthouder een vast aantal gratis minuten en opslagruimte, afhankelijk van het gebruikte product bij het account. Wanneer je ingelogd bent op GitHub en naar Actions gaat in een repository, wordt je een startend YAML-bestand voorgesteld op basis van de beschikbare code in de repository. Daarin wordt bijvoorbeeld je .NET Core-code gevonden. Er zijn al veel Actions beschikbaar, ongeacht je stack. Het YAML-bestand dat door jou is gemaakt, is een set van acties en wordt daarom een workflow genoemd.


Het opzetten van .NET core

Je kunt het .NET Core-project selecteren uit de voorgestelde setup als het overeenkomt met de implementatie van je project. Er zijn echter een reeks stappen beschikbaar om de Action Runner in te stellen met de tools die overeenkomen met je .NET Core-project. Zodra je de setup hebt gemaakt, moet je een build starten met het dotnet-commando.


Zodra het YAML-bestand is opgeslagen in je repository en de uitvoering wordt gestart, zal het een workflow triggeren bij: push. Nu kun je het commit-id zien dat is gekoppeld aan de push samen met de branch en het account dat de wijziging heeft gepusht. 



De andere soorten consistentie zoals consistent-prefix, sessie en bounded-staleness worden puur gedefinieerd op basis van het consistentieniveau. Wat betreft de prestaties en beschikbaarheid, heeft Strong de laagste prestaties/beschikbaarheid, terwijl Eventual de hoogste heeft.


Uitvoeren

Wanneer je voor het eerst je commando uitvoert en een foutmelding krijgt, raak dan niet in paniek. Het is een goed teken dat je duidelijk wordt verteld wat er mis is en waar je fouten hebt gemaakt. Je moet dus de foutmeldingen zorgvuldig begrijpen en proberen ze op te lossen met je programmeervaardigheden.


Bij het eerste gebruik kan je een paar dingen opvallen over GitHub; het toont nieuwe uitvoeringen niet automatisch bij pushes. Je kunt niet teruggaan naar de lijst met uitvoeringen om eerdere uitvoeringen te controleren; echter, je kunt op het tabblad acties klikken om je workflow vanuit het overzicht op hoog niveau te starten. Dit betekent dat je meerdere workflows kunt uitvoeren in dezelfde repository, wat erg handig is. Bovendien is de gebruikersinterface prachtig om mee te werken.

Publiceren

Nadat je je basiswebapplicatie hebt gemaakt met behulp van .NET Core, moet je vervolgens een Azure App Service gebruiken om een nieuw App Service-plan te maken. Er is volledige documentatie beschikbaar over het gebruik van GitHub Actions, dus je kunt beginnen met lezen. De instructies zijn vrij duidelijk om een dockercontainer op de App Service uit te voeren, JavaScript, Phyton of Java; het werkt ook voor .NET Core.



Om je repository te maken, moet je het App Service-publicatieprofiel downloaden en opslaan in een GitHub Secret. Hier moet je een geheime naam maken, wat even kan duren omdat GitHub streng is met het gebruik van een streepje of een underscore in je naam en voortdurend foutmeldingen blijft tonen totdat je de juiste naam instelt.

Nu moet je deze stap toevoegen in het YAML-bestand, wat mogelijk enkele pogingen zal vergen. Dit komt omdat de technologie van GitHub Actions zo snel evolueert dat er bijna elke dag nieuwe Actions worden toegevoegd. Daarom moet je door een breed scala aan repositories bladeren om een geschikt voorbeeld van YAML-bestanden te vinden. Na een paar mislukte pogingen om e-mailberichten van GitHub te ontvangen, ben je klaar om je webapplicatie te lanceren.


Volledige syntaxis

Nu moet je de volledige uitvoeringssyntax controleren die er op de een of andere manier zo uitziet: 

Conclusie

GitHub Actions belooft veel voor de toekomst. De workflows zijn boeiend en gemakkelijk te begrijpen. Met open source acties, gemakkelijke beschikbaarheid en een snel evoluerend platform, heeft GitHub Actions een aantal sterke kenmerken. Dit alles-in-één platform biedt alle benodigde componenten voor het succesvol uitvoeren van een applicatie. Bovendien blijft het product zich ontwikkelen, met bijna dagelijks nieuwe acties.


Wil je meer informatie? Neem dan contact op.

Cookies
Deze site gebruikt geanonimiseerde cookies. Klik op "Akkoord" als je akkoord gaat met het gebruik van cookies, of klik op "Aanpassen" om je voorkeuren te bepalen.
Deze site gebruikt geanonimiseerde cookies.