NL EN

ICT-beheer
Microsoft 365
Netwerk & beveiliging
Voor wie
Hosting & cloud
Magento
Websites & webshops
Beheerde applicaties

Alle diensten op een rij

Forgejo Actions: de runner is het werk, niet de workflow.

Een workflow schrijven kan je team. Dat er een runner klaarstaat die hem veilig uitvoert, regelen wij.

Tekening van een git-geschiedenis: een zijtak wordt getest en weer samengevoegd, de laatste versie staat live.mainGetestUitgerold

Kort antwoord

Forgejo Actions is het ingebouwde systeem voor CI/CD in Forgejo: bij elke wijziging in de code worden automatisch builds, tests of een uitrol gestart. De opdrachten worden uitgevoerd door een runner, een los programma op een server. Jevana host de runners op eigen hardware en houdt ze bij. Workflows hebben dezelfde vorm als bij GitHub Actions, dus bestaande bestanden zijn grotendeels herbruikbaar.

Van commit tot uitrol

  1. 01

    Push

    Iemand zet een wijziging in de repository of opent een pull request.

  2. 02

    Workflow

    Forgejo leest het workflowbestand in de repository en zet de opdrachten in de wachtrij.

  3. 03

    Runner

    Een runner pakt de opdracht op en voert elke stap uit in een schone container.

  4. 04

    Resultaat

    Groen of rood bij de commit, met het logboek erbij. Bij groen kan de uitrol volgen.

Wat we aan de runners doen

Capaciteit

  • Hoeveel opdrachten tegelijk, afgestemd op je team
  • Meer runners erbij als de wachtrij te lang wordt
  • Gescheiden van de server waar Forgejo zelf op draait

Veiligheid

  • Elke opdracht in een eigen container, die daarna verdwijnt
  • Geheimen alleen beschikbaar voor de workflows die ze nodig hebben
  • Geen runner die bij systemen kan waar hij niets te zoeken heeft

Onderhoud

  • De runner-software bijgewerkt met Forgejo mee
  • Oude containerimages en caches opgeruimd
  • Een melding bij een runner die niet meer reageert

Wat er anders is dan bij GitHub

De opbouw van een workflow is hetzelfde: een YAML-bestand met jobs en stappen. Veel acties uit het ecosysteem van GitHub werken ongewijzigd. Forgejo belooft geen volledige gelijkheid, en een enkele actie die diep op GitHub zelf leunt moet worden vervangen.

Het grootste verschil is waar het draait. Bij GitHub lopen je builds op machines van Microsoft. Hier lopen ze op runners in Nederland, die alleen jouw organisatie gebruikt. Voor code die naar een eigen server moet worden uitgerold is dat ook praktisch: de runner staat al aan de goede kant van de firewall.

Veelgestelde vragen

Wat is een runner in Forgejo?

Een runner is het programma dat de opdrachten uit een workflow daadwerkelijk uitvoert. Forgejo zelf bewaart de code en bepaalt wat er moet gebeuren; de runner haalt die opdrachten op, start een container en draait daarin de build of de tests. Runners staan los van de Forgejo-server en je kunt er meerdere hebben, bijvoorbeeld een aparte voor zware builds.

Draaien de builds op hardware van Jevana?

Ja. De runners staan op onze eigen servers in Nederland, gescheiden van de Forgejo-installatie. Broncode en buildresultaten verlaten onze omgeving niet, tenzij een stap in je workflow ze ergens naartoe stuurt. Moet een build bij een systeem in je eigen netwerk kunnen, dan plaatsen we een runner daar, die alleen naar buiten hoeft te bellen.

Werken onze GitHub Actions-workflows in Forgejo?

Grotendeels. Forgejo Actions gebruikt dezelfde indeling van workflowbestanden en kan veel bestaande acties rechtstreeks gebruiken. Kleine aanpassingen zijn vaak nodig, zoals de map waarin de workflows staan en verwijzingen naar functies die alleen GitHub kent. Bij een overstap lopen we de workflows met je team na en zetten we ze één voor één over.

Hoe gaan jullie om met geheimen in een workflow?

Wachtwoorden, sleutels en tokens staan als geheim opgeslagen in Forgejo, per repository of per organisatie, en niet in de code. Een workflow krijgt ze alleen op het moment van uitvoeren, en ze worden in het logboek afgeschermd. We adviseren om per doel een eigen sleutel te gebruiken met zo min mogelijk rechten, zodat een gelekte sleutel weinig kan.

Vertel wat er bij jullie draait.

Een kennismaking kost niets. Je praat meteen met een van de twee mensen die het werk daarna ook echt doen.