Drift/Gitea: Difference between revisions

From Programvareverkstedet
(Lag side for gitea)
 
(Move user guides to Tjenester/Gitea)
Line 2: Line 2:
Du kan bruke den som et alternativ til GitHub eller IDI GitLaben.
Du kan bruke den som et alternativ til GitHub eller IDI GitLaben.
Den kjører på [[Maskiner/bekkalokk]] og er tilgjengelig på https://git.pvv.ntnu.no
Den kjører på [[Maskiner/bekkalokk]] og er tilgjengelig på https://git.pvv.ntnu.no
== Bruk ==
For generell bruk, se https://docs.gitea.com/category/usage
På loginsiden kan du logge inn med vanlig PVV-brukernavn og passord
=== Lag og klon et nytt repo ===
1. Trykk på "New Repository" i menyen i øvre høyre hjørne
[[File:Gitea_create_repo_1.png|thumb|center|500px|Klikk "New Repository"]]
2. Fyll inn feltene du føler er nødvendig. De 2 viktigste er:
  * "Repository Name" - navnet på repoet
  * "Visibility Level" - om repoet skal være offentlig eller privat
[[File:Gitea_create_repo_2.png|thumb|center|500px|Opprett nytt repo]]
3. Følg instruksjonene for å klone repoet, ev. spør noen i drift om hjelp.
[[File:Gitea_create_repo_3.png|thumb|center|500px|Klon repo]]
=== Bruk av CI ===
Se https://docs.gitea.com/usage/actions/quickstart#use-actions
== Historie ==
Tidlig 2023 ble både [[Drift/TRAC | TRAC]] og [[Drift/Gogs | Gogs ]] tatt ned, og byttet ut med Gitea.
De fleste repoer ble migrert (med unntak av noen vi ikke fant kildekode for i datamappene),
og det ble satt opp [https://git.pvv.ntnu.no/org/Projects/teams prosjektgrupper] for repo-er som tidligere var samarbeidsprosjekter.
Repo-er hvor vi så at det hovedsakelig var én person som jobbet, ble omgjort til brukerens personlige repo.
== Drifts-detaljer ==


=== Kildekode ===
=== Kildekode ===

Revision as of 23:49, 9 July 2024

Gitea er en tjeneste vi bruker for å oppbevare og dele kode. Du kan bruke den som et alternativ til GitHub eller IDI GitLaben. Den kjører på Maskiner/bekkalokk og er tilgjengelig på https://git.pvv.ntnu.no

Kildekode

https://git.pvv.ntnu.no/Drift/pvv-nixos-config/src/branch/main/hosts/bekkalokk/services/gitea

Web-endepunkt

Selve nettsiden blir hostet gjennom en nginx som revers-proxy på Maskiner/bekkalokk, som de fleste andre tjenester. Nginx håndterer TLS og sertifikater, og sender dermed ukryptert HTTP trafikk til gitea gjennom en UNIX socket.

SSH

Gitea kjører en intern SSH server. Dette gjør det litt enklere å håndtere tilganger og sandboxing på NixOS, men resulterer også i at SSH-serveren på kjøre på en annen port enn den vanlige SSH serveren, og for tiden (arpil 2024) kjører den på port 2222. Dette kan gi litt rare URIs for upstreams, som ssh://gitea@git.pvv.ntnu.no:2222/bruker/prosjekt.git

Bruker-sync skript

Ettersom Gitea kjører på nixos, og vi ikke har fått satt opp et ordentlig bruker-sync system enda (april 2024), så har vi et python-skript som er schedulet som en systemd-timer (et cron alternativ). Dette skriptet henter passwd fila på Maskiner/Microbel, parser alle linjer, og lager og modifiser gitea-brukere gjennom gitea's REST API.

CI

Maskiner/bekkalokk er det satt opp 3 instanser av gitea-act-runner. Disse bruker podman til å lage docker-lignende containere for å kjøre pipelines i en sandbox.