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
Dit is het beste verhaal ooit geschreven! - Power-Up Podcast #3
Huis

Dit is het beste verhaal ooit geschreven! - Power-Up Podcast #3

BAM! Nieuwe week, nieuwe PUPcast! Martin & Simon schuiven weer aan om het te hebben over… religie? Jazeker. Want naast al het gamenieuws van deze week moet er natuurlijk ook ruimte zijn voor je wekelijkse portie onzin. Zo bespreken de jongens onder andere nieuws over Bloober’s nieuwe game, de Overwatch reboot en de vertraging van de Steam Machine — maar ook totaal niet-game-gerelateerde onderwerpen zoals religie, de Efteling en (uiteraard) een nieuw hoofdstuk in Simon’s inmiddels legendarische poep-saga. Dus ga er lekker voor zitten (of liggen, staan — whatever floats your boat) en geniet van de aflevering, baklap!

Watch on YouTube

00:00 Religiepraat (intro?)
11:40 Simons poepverhaal (deel 247)
15:35 Cadeau voor Simon 20:35 Magazine-teaser
21:40 Nieuwe Bloober Team-game
25:35 Martin speelt Drop Duchy
31:30 Shout-out naar Bonuslevel
33:40 Klein Efteling-verhaal
36:40 Terug naar Dragon Quest VII Reimagined
41:30 Simon en zijn Metal Gear-kleding
43:55 Nioh 3 & Dispatch
46:40 Resident Evil
47:45 Legende Gene Park
52:15 Terug naar Resident Evil
55:55 Martin op de pijnbank
01:00:50 Simon zijn ‘filmsmaak’
01:02:45 Overwatch 3.0
01:09:25 Steam Machine vertraagd
01:11:55 Outro

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

▼ Volgende artikel
Final Fantasy 7 Rebirth verschijnt op 3 juni voor Switch 2
Huis

Final Fantasy 7 Rebirth verschijnt op 3 juni voor Switch 2

Final Fantasy 7 Rebirth, het tweede deel in de Final Fantasy 7 Remake-trilogie, is vanaf 3 juni voor Nintendo Switch 2 verkrijgbaar.

Het eerste deel, Final Fantasy 7 Remake, kwam enkele weken geleden al uit voor Switch 2 en Xbox Series-consoles, nadat de game jarenlang alleen op PlayStation-consoles en later ook pc verkrijgbaar was.

Uitgever Square Enix liet al weten dat het de bedoeling was dat Switch 2 en Xbox Series ook de twee vervolgdelen zouden krijgen - waarvan middelste deel Rebirth al een tijdlang voor PS5 verkrijgbaar is.

Nu is dus officieel de Switch 2-versie van Rebirth uit de doeken gedaan, en is bekendgemaakt dat deze editie op 3 juni uitkomt. Daarbij werden de eerste beelden van het spel op Switch 2 getoond in een trailer.

Watch on YouTube

Over Final Fantasy 7

Final Fantasy 7 is een van de meest geprezen rpg's ooit en kwam in de jaren negentig op de allereerste PlayStation uit. De Remake-trilogie giet deze game in een nieuw jasje, met alle moderne toeters en bellen van dien. De drie games vormen samen het gehele verhaal uit het origineel, al zijn er ook veel wijzigingen aangebracht en is de spelwereld veel groter gemaakt.

Square Enix werkt ondertussen hard aan het derde deel in de trilogie. Behalve dat de ontwikkeling op schema loopt, is daar nog nagenoeg niets over bekend. Wel is duidelijk dat spelers in het slotstuk een luchtschip kunnen gebruiken om zich voort te bewegen door de spelwereld.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.