Wenn du ein privates Git-Repository auf deinem Kubernetes-Cluster benötigst, zeigt diese Anleitung, wie du eines einrichtest.
Wir werden Gitea als Repository-Server verwenden. Es bietet ein gut gepflegtes Helm-Chart, das die Installation vereinfacht.
Falls noch nicht geschehen, installiere zuerst Helm.
Helm-Installation
Es gibt mehrere Wege, Helm zu installieren.
Auf macOS kannst du das Installationsskript verwenden:
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
cat get_helm.sh
Oder mit Homebrew installieren (schneller):
brew install helm
Gitea-Installation
Füge zuerst das Chart-Repository hinzu:
helm repo add gitea-charts https://dl.gitea.io/charts/
Wenn du keine Standardwerte überschreiben musst, installiere Gitea mit:
helm install gitea gitea-charts/gitea
Standardmäßig ist Gitea als headless konfiguriert. Ich brauchte stattdessen eine interne ClusterIP, also habe ich gitea-values.yaml erstellt:
service:
http:
type: ClusterIP
port: 3000
clusterIP:
ssh:
type: ClusterIP
port: 22
clusterIP:
Installiere mit der benutzerdefinierten Values-Datei:
helm install --values gitea-values.yaml gitea gitea-charts/gitea
Die Ausgabe sollte ungefähr so aussehen:
NAME: gitea
LAST DEPLOYED: Thu Feb 18 21:30:29 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
echo "Visit http://127.0.0.1:3000 to use your application"
kubectl --namespace default port-forward svc/gitea-http 3000:3000
Sie liefern sogar den Befehl, um den Port des Pods auf deine lokale Maschine weiterzuleiten:
kubectl --namespace default port-forward svc/gitea-http 3000:3000
Gitea läuft jetzt und kann in deinem Browser unter localhost:3000 aufgerufen werden.

Das Passwort des initialen Admin-Benutzers (gitea_admin) befindet sich in der values.yaml des Charts: r8sA8CPHD9!bt6d

Ein erstes Projekt hinzufügen
Erstelle ein neues Repository, indem du den ”+“-Button drückst und “New Repository” auswählst.

Fülle die erforderlichen Felder aus, z.B. wähle den Eigentümer und gib einen Repository-Namen an.

Wenn bereit, drücke “Create Repository”.

Das Repository ist erstellt und Dateien können hinzugefügt werden. Ein Klick auf den Repository-Namen zeigt die Schritte zum Hinzufügen von Dateien zum neuen Repository.

Ich habe lokal ein neues Projekt erstellt:
$ mkdir my-java-project
$ cd my-java-project/
$ touch README.md
Initialisiere das lokale Repository:
$ git init
Initialized empty Git repository in /Users/username/my-java-project/.git/
Füge die Dateien hinzu und committe sie:
$ git add README.md
$ git commit -m "first commit"
[master (root-commit) 1689222] first commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
Pushe nun das lokale Repository zum entfernten privaten Repository:
$ git remote add origin http://127.0.0.1:3000/gitea_admin/my-java-project.git
$ git push -u origin master
Username for 'http://127.0.0.1:3000': gitea_admin
Password for 'http://gitea_admin@127.0.0.1:3000':
Counting objects: 3, done.
Writing objects: 100% (3/3), 220 bytes | 220.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:. Processing 1 references
remote: Processed 1 references in total
To http://127.0.0.1:3000/gitea_admin/my-java-project.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
Et voila - alles hat funktioniert!

Ressourcen
- Gitea: Git with a cup of tea
- Installation with Helm (on Kubernetes)
- Gitea Helm Chart
- Installing Helm