Wir haben zwei interne Projekte, A und B, die von verschiedenen Teams entwickelt wurden, wobei B von A abhängig ist. Da der Quellcode für beide Projekte in git gespeichert ist, habe ich Projekt A als Submodul in Projekt B aufgenommen und das Build-System konfiguriert beides in der richtigen Reihenfolge zu bauen. Eine alternative Lösung wäre, A über einen binären Repository-Manager wie Artifactory oder Nexus zu konsumieren.
Ich frage mich über die Vor- und Nachteile von Quellcode und Binärartefakten. Wann ist einer besser als der andere? Bisher habe ich mir folgende Faktoren ausgedacht, aber ich bin sehr gespannt auf andere Meinungen.
Je nach Quellcode ist besser
- Wenn Sie keinen binären Repository-Manager haben
- Wenn Sie von der Vorabversion eines anderen Projekts abhängig sein müssen
- Wenn Sie ein anderes Projekt patchen müssen
- weil es einfacher ist, den Quellcode von Abhängigkeiten in der IDE zu durchsuchen
Abhängig von Binärdateien ist besser
- Bauzeit zu minimieren
- um den Aufwand beim Einrichten der Build-Umgebung eines anderen Projekts zu vermeiden