# Erfahrungen / Ideen zu lokalem Repository



## kneitzel (12. Mrz 2021)

Hallo zusammen,

bestimmt eine Sache, die der eine oder andere kennt: Maven Repositories und der Zugriff darauf ...

Eine erste Lösung, die ich verwendet hatte, war cntlm - ein lokaler Proxy, der aus 127.0.0.1 hörte und ohne Autorisierung dann Requests über den Firmen-Proxy abgesetzt hat (mit ntlm autorisiert).
Das ist aber zum einen etwas unschön und und auch nicht zu trivial. Manche Mitarbeiter mögen das nicht wirklich ... Unnötige Komplexität vermeidet man gerne wenn möglich.

Aber nun brauchen wir es auch in einem Bereich, in dem explizit kein Internet erlaubt ist.

Die Lösung ist erst einmal einfach: Eigenes Repository aufsetzen - maven gibt dazu ja gleich eine Liste von Tools, die da genutzt werden können und reposilite ist nun wirklich einfach und trivial einzusetzen.

Nun haben wir diverse Punkte:
- Nutzung auf eigenem System mit und ohne Firmennetz
- Nutzung in "geschlossenem" Bereich

Daher ist jetzt im Augenblick eine Überlegung:
- im geschlossenen Bereich wird es ein reposilite Repository geben
- auf den lokalen Systemen hat jeder eine Reposilite Instanz

Das kann man dann fest konfigurieren.

Jetzt müssen aber natürlich Pakete hinzugefügt werden. Dazu haben wir uns überlegt, einfach ein zentrales git Repository zu nutzen. Da kann man alles einchecken und damit hat man eine zentrale Stelle, an der wir prüfen können, wer was wann geändert hat.
Updates sind einfach: vor einem Start gibt es dann immer ein git pull 
Einpflege neuer Pakete ist einfach, denn man muss dann nur den Cache aktivieren, ein Projekt bauen mit neuen Abhängigkeiten und schon hat man es lokal. Ein einfaches add/commit/push und schon steht es allen zur Verfügung.
Bezüglich möglicher Bedenken bei der Sicherheit: Alles, was herunter geladen wird aus dem Netz, kann kontrolliert werden. Ein kompromittiertes Repository ist nur dann kritisch, wenn genau in dem Moment auch eine neue Version geladen wird. (Aber das Problem haben wir ja jetzt auch, denn derzeit müssen wir die Abhängigkeiten ja auch laden um diese dann in einem Ordner in git einzuchecken - also keine Verschlechterung, die ja befürchtet wurde ...)

Sind diese Gedankengänge so nachvollziehbar und halbwegs vernünftig? Oder liegt ihr jetzt vor Lachen unter dem Tisch weil es da schon seit Jahrzehnten einfache 08/15 Lösungen gibt, die ich einfach übersehen habe und jetzt gerade krampfhaft etwas versuche, das ja schon fertig gibt ...

Oder wie läuft das bei euch? Alle Buildsysteme haben Zugriff auf das central Repository (direkt oder indirekt) und das war es?


----------



## LimDul (12. Mrz 2021)

Bei dem Kunden wo ich gerade aktiv haben wir indirekt Zugriff auf central Repostory. Allerdings wird alles, was aus dem central repository runtergeladen wird durch einen Virenscanner geschleust (Was schon für Probleme gesorgt hat...)


----------



## Oneixee5 (12. Mrz 2021)

Bei uns wird auch die cntlm-Lösung eingesetzt. Sicherheitsbedenken werden immer mal wieder diskutiert und dann wieder vergessen. Von daher sehe ich deinen Ansatz als vernünftig an. Eine bessere Lösung kenne ich auch nicht.


----------



## mihe7 (13. Mrz 2021)

kneitzel hat gesagt.:


> Oder wie läuft das bei euch? Alle Buildsysteme haben Zugriff auf das central Repository (direkt oder indirekt) und das war es?


Ja. Nach dem Download liegt das Zeug ja eh im lokalen Maven-Repository, so dass kein Netzwerkzugriff mehr notwendig ist.


----------

