ID.nl logo
Met Gitea bouw je je eigen GitHub
© Reshift Digital
Huis

Met Gitea bouw je je eigen GitHub

Dankzij Gitea kun je relatief eenvoudig je eigen GitHub-alternatief bouwen, waar je je programmacode een plek kunt geven. Dat is erg praktisch, ook voor het bijhouden van problemen en documentatie. Bovendien dient het als back-up.

Op GitHub kun je eenvoudig je projecten een plekje geven en delen met de wereld. Maar je kunt zoiets ook zelf bouwen, bijvoorbeeld met Gitea. Deze lichtgewicht software kun je eenvoudig zelf hosten. Waarom zou je dat doen? Ten eerste is het een veilig idee om je ontwikkelbestanden in eigen beheer te hebben. Weliswaar kun je deze op GitHub ook wel privé houden, maar een foutje is snel gemaakt. Sommigen zijn ook niet blij met het feit dat GitHub is overgenomen door Microsoft. Het werkt bovendien – zeker lokaal – ook een stukje sneller. Ten slotte zijn er geen beperkingen meer, zoals je die met een gratis account wel op GitHub hebt.

©PXimport

Licht en flexibel

Gitea is gratis, opensource en uitgegeven onder MIT-licentie, wat erop neerkomt dat vrijwel alles wordt toegestaan. Het pakket biedt uiteraard versiebeheer met Git en een grafische webinterface voor het beheer. Je kunt problemen bijhouden, op basis van meldingen van gebruikers. Dit ken je wellicht van GitHub. Ook kun je uitgebreidere documentatie maken in de vorm van een wiki. Toegang tot de repository is mogelijk via http(s) en ssh. Het is geschreven in de programmeertaal Go en hierdoor platformonafhankelijk. Je kunt het draaien via het uitvoerbare bestand dat onder meer voor Linux, Windows en macOS verkrijgbaar is. Hier installeren we het onder Ubuntu 20.04 LTS met de hulp van Snap. Kleinere systemen als een Raspberry Pi of een NAS kunnen ook als basis dienen. Voor niet al te grote projectgroepen is eenvoudige hardware meer dan toereikend. Ook in vergelijking met GitLab, een van de bekendere alternatieven, liggen de systeemeisen voor Gitea een stuk lager.

Installatie

Op https://docs.gitea.io/en-us staat uitgebreide documentatie voor Gitea. Ook vind je hier verschillende installatiemethoden. Wij kiezen hier voor een installatie onder Ubuntu middels Snap. Zorg dat Snap is geïnstalleerd:

sudo apt install snapd

Daarna installeer je Gitea met:

sudo snap install gitea

Open hierna een browser met het ip-adres van het bewuste systeem en poortnummer 3000. In ons voorbeeld is dat http://10.0.10.53:3000. We kiezen als database voor SQLite3 dat geen verdere configuratie vereist. Bij Gitea base URL en SSH server domein veranderen we localhost naar het ip-adres van de bewuste server. Het maken van een administrator-account onder het kopje Instellingen beheerdersaccount is optioneel, maar wel raadzaam. De eerste geregistreerde gebruiker wordt anders automatisch de beheerder.

©PXimport

De mogelijkheden van Gitea zijn overwegend vergelijkbaar met GitHub

-

Repository maken

Je kunt binnen de webinterface van Gitea een nieuwe repository maken, door op de overzichtspagina achter Repositories op het plusteken te klikken. Vul de gevraagde details in, met minimaal een naam voor de repository en een vinkje achter Zichtbaarheid als deze repository privé moet zijn (achter de checkbox staat namelijk Maak repository privé). Klik dan op Nieuwe repository. Je kunt deze nu klonen, maar ook gebruiken voor een bestaand project, zoals we hierna zullen doen.

©PXimport

Remote repository toevoegen

We nemen een bestaand project als uitgangspunt. We gaan Gitea als remote repository toevoegen onder de naam origin met:

git remote add origin http://10.0.10.53:3000/gertjan/demo.git

Vervolgens synchroniseren we de masterbranch met de remote server:

git push -u origin master

Eventuele andere branches kun je op vergelijkbare wijze synchroniseren. Verdere wijzigingen kun je met een nieuwe push synchroniseren. Je zult merken dat om je gebruikersnaam en wachtwoord worden gevraagd. Dit kun je oplossen door op je systeem de juiste ssh-sleutels aan te maken en deze toe te voegen in Gitea.

Beschrijving toevoegen

Het is nuttig om een beschrijving te hebben van een project. In je werkdirectory maak je daarvoor een tekstbestand met de naam README.md. Gebruik bijvoorbeeld de editor nano:

nano README.md

Hier zet je in Markdown-formaat een beschrijving in. Je kunt de tekst op verschillende manieren opmaken. Gebruik bijvoorbeeld een of meerdere hekjes voor een header en twee sterretjes voor en na een tekst om die vet te maken. Voeg het bestand hierna toe aan je staging area, om het met de tweede opdracht naar je lokale repository te zetten:

git add README.md

git commit -m "Beschrijving toegevoegd"

Werk vervolgens je remote repository op Gitea bij:

git push -u origin master

Als je je projectpagina op Gitea bezoekt, zie je dat de beschrijving direct getoond wordt.

©PXimport

Extra mogelijkheden

Gitea geeft je veel extra features. De mogelijkheden zijn overwegend vergelijkbaar met GitHub en ook de interface lijkt erop. Je kunt om te beginnen op het tabblad Code alle programmabestanden bekijken, evenals de verschillende vertakkingen (branches). Als je binnen dit tabblad naar Commits gaat, zie je alle veranderingen die je hebt gedaan met de korte beschrijving. Als je er op klikt, zie je wat er precies was veranderd.

Het tabblad Kwesties geeft jou en anderen de mogelijkheid om problemen met je code te melden. Je kunt zo’n kwestie vervolgens tot in detail configureren. Je kunt bijvoorbeeld een timer starten zodat je weet hoelang je aan de oplossing werkt, een vervaldatum toevoegen om jezelf een deadline te stellen en afhankelijkheden toevoegen, als je voor het oplossen afhankelijk bent van een andere kwestie. Als het probleem is opgelost, kun je de kwestie sluiten.

Op het tabblad Pull-aanvragen geef je als medeontwikkelaar aan dat je een bepaalde feature hebt afgerond en dat die mag worden toegevoegd aan de master. Ook zulke aanvragen geven weer de mogelijkheid voor verdere discussie. Verder kun je onder andere uitgebreidere documentatie schrijven op het tabblad Wiki.

▼ Volgende artikel
Confrontatie tussen Simon en aartsrivaal Tom (IGN) - Power-Up Podcast #4
Huis

Confrontatie tussen Simon en aartsrivaal Tom (IGN) - Power-Up Podcast #4

De collab waarvan je niet wist dat je ’m nodig had, maar die er nu toch echt is! Nick Nijland en Tom van Stam van IGN Benelux schuiven aan om Simon eindelijk eens op z’n plek te zetten. Samen met Martin gaat hij de strijd aan in een ultieme PUP vs. IGN-quiz, waarin de gamekennis flink op de proef wordt gesteld! Natuurlijk ontbreken de bekende PUP-zijsporen niet, maar zijn er ook genoeg games om over te lullen: Marathon, Resident Evil 2, Reanimal en Mario Tennis Fever komen allemaal voorbij! Dus wil je weten of Simon z’n zinloze haat een béétje terecht is? Check de aflevering snel, baklap!

Watch on YouTube

00:00 Intro
01:40 IGN op bezoek
06:45 Zijspoor één: Helmond represent
10:05 Terug naar IGN
13:20 Hoe werkt IGN precies?
25:00 Zijspoor twee: Yvonne Coldeweijer
26:25 Gamequiz
44:25 Simon z’n Tom-haat-origin
49:40 Marathon
56:05 Tom speelt Chrono Trigger
58:15 Resident Evil 2
01:01:45 Nick speelt Overwatch
01:04:30 Fallout
01:08:20 Simon speelt Mario Tennis Fever
01:15:00 Death Howl
01:17:55 Martin speelt Reanimal
01:24:45 Apex Legends
01:28:15 PlayStation State of Play-voorspel
01:29:25 Simons magazine-dilemma
01:38:40 Outro

Je kan ook de podcast beluisteren hieronder of via deze link!

▼ Volgende artikel
Ontslagronde bij studio achter pas uitgekomen Highguard
© Wildlight Entertainment
Huis

Ontslagronde bij studio achter pas uitgekomen Highguard

Er vallen ontslagen bij Wildlight Entertainment, dat eind januari nog hun multiplayergame Highguard uitbracht.

Wildlight bevestigde eerdere geruchten over een ontslagronde op social media. "Vandaag hebben we de moeilijke beslissing gemaakt om afscheid te nemen van een aantal teamleden, terwijl we een kerngroep van ontwikkelaars aanhouden om de game te blijven ondersteunen en innoveren."

Het bericht vervolgt: "We zijn trots op het team, talent en het product dat we samen hebben gecreëerd. We zijn ook enorm dankbaar voor de spelers die een poging waagden om de game te spelen, en allen die onderdeel van onze gemeenschap blijven."

View post on X

Grootschalige ontslagronde

Hoewel Wildlight niet praat over de precieze hoeveelheid ontslagen, lijkt de vermelding van een "kernteam" dat overblijft te suggereren dat het om een aanzienlijke hoeveelheid mensen gaat.

Dat komt overeen met een LinkedIn-bericht van Alex Graner, een ontwikkelaar van die game die eerder ook aan Battlefield 6 werkte. Hij laat weten dat "het grootste gedeelte van het team" ontslagen is, waaronder hij zelf.

Over Highguard

Highguard is de debuutgame van Wildlight Entertainment. De game viel op voorhand vooral op omdat er een trailer van werd getoond aan het einde van The Game Awards eind vorig jaar. Die positie is meestal gereserveerd voor grote aankondigingen en aankomende games, en sommige kijkers vonden Highguard daar niet onder behoren.

Sinds eind vorige maand is Highguard speelbaar via Steam. De game ontving veel negatieve gebruikersrecensies, al heeft dat Wildlight niet tegengehouden om updates uit te blijven brengen. Rond release bereikte het spel een indrukwekkende gelijktijdige spelerspiek van bijna 100.000 mensen op Steam, maar inmiddels hangen de gelijktijdige spelersaantallen onder de 10.000. Het is dan ook aannemelijk dat dit deels de keuze om een grootschalige ontslagronde door te voeren heeft beïnvloed.

Lees hier meer informatie over Highguard.