Tjenester/Kodelager

From Programvareverkstedet
Revision as of 00:59, 9 March 2025 by Oysteikt (talk | contribs) (Expand a bit more)

Gitea er en tjeneste vi bruker for både å oppbevare, dele, og samarbeide på kode og andre filer. 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

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 en ny kodebrønn (repository)

1. Trykk på "New Repository" i menyen i øvre høyre hjørne

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
Opprett nytt repo

3. Følg instruksjonene for å klone repoet, ev. spør noen i drift om hjelp.

Klon repo

Speiling av kodebrønner

Gitea støtter speiling av kodebrønner både til og fra flere kilder. PVV bruker selv å speile en del prosjekter mot GitHub (se https://github.com/Programvareverkstedet). For å komme i gang med speiling, kan du lese mer her:

Hvis du skal speile til en GitHub-brønn eller fra en privat GitHub-brønn må du forsyne Gitea med en token. Vi anbefaler deg å bruke en ny

Bruk av CI

Se https://docs.gitea.com/usage/actions/quickstart#use-actions for generell bruk.

For prosjektbrønner har vi satt opp et system for å forhåndsgenerere tokens for å publisere html-dokumenter fra CI. Tokenen er lagret under id WEB_SYNC_SSH_KEY. I tillegg finnes det en heimbrent byggekloss som simplifiserer prosessen. Du kan finne eksempel på bruk her: https://git.pvv.ntnu.no/Projects/rsync-action/src/branch/main/.gitea/workflows/test.yml

En snutt om innhold

Alt innhold på PVV-giten skal som alt annet innhold på PVVs systemer, følge PVV sine regler for bruk av maskineri og utstyr, som deriblant også inneholder NTNU sitt IT-reglement. Utover dette har vi enn så lenge bestemt at det ikke skal gå utover disk-kvota å lagre prosjekter på kodelageret. Dette er delvvis fordi at Gitea ikke hadde implementert kvotetracking da vi satt den opp, men også med intensjon om å oppmuntre bruk av kodelageret for prosjekter og samarbeid. Programvareutvikling, rett og slett.

Vi sliter til dels med bots og vev-edderkopper (crawlers) som kommer og laster ned alt innhold på kodelageret fra tid til annen. Derfor hadde drift satt pris på om brukere var litt forsiktig med å poste gigabyte-vis av blobs og store filer. Det er gale nok som det er, nedlastning av store blobs kan sannsynligvis knele hele kodelageret i senk.

Historie

Tidlig 2023 ble både TRAC og 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 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.