Wie kann ich den Xcode Continuous Integration-Dienst dazu bringen, oberflächliche Git-Klone auszuführen?

8

Ich habe gerade den neuen OS X Server mit Xcode CI installiert ( Ссылка ).

Ich habe CI für mein Projekt erfolgreich eingerichtet, aber ein Submodul des Haupt-Git-Repos ist sehr groß (es enthält versionsgesteuerte Bilder, nicht Code).

Aus Performance- und Platzgründen möchte ich, dass das CI beim Abrufen des Submoduls einen flachen Klon anstelle eines vollständigen Klons verwendet. Gibt es eine Möglichkeit, das CI dafür zu konfigurieren?

Oder gibt es einen alternativen Weg, um den Prozess zu beschleunigen?

    
x10 25.10.2013, 15:43
quelle

1 Antwort

0

Flache Submodule sind mit git möglich, das Problem liegt bei Xcode CI.

Die Verwendung von git zum Speichern großer binärer Bilder ist ein Anti-Pattern-Muster, daher ist es möglicherweise niemals optimal für das Verhalten geeignet. Für Xcode würden Sie im Idealfall git überhaupt nicht für diesen Zweck verwenden und einfach in CI schreiben, dass der Build-Prozess ein einzelnes Bild abruft (zum Beispiel über eine Rake- oder Gradle-Task, wget, curl, scp usw.). Wenn es sich wirklich um ein Bildziel handelt, haben Sie wahrscheinlich die Möglichkeit, es wie diese JAR-Datei zu referenzieren:

  

Ссылка

Das CI ist nicht an der Verfügbarkeit anderer möglicher Zustände für das Ziel oder die Überarbeitungshistorie interessiert. Es will nur die Abhängigkeit erfüllen.

Wenn Sie müssen submodule verwenden, können Sie Ihr eigenes abgespecktes internes Repo-Ziel namens [that_submodule] _current einrichten, das nur den gewünschten Status hat. Blasen Sie es weg und ersetzen Sie es bei Bedarf.

Beachten Sie, dass Xcode anscheinend einen abgetrennten Untermodulkopffehler hat, so dass es darauf hindeutet, dass es einige Zeit dauern wird, bis sie etwas mehr handhaben exotische Submoduloptionen wie --depth .

    
Joe Atzberger 04.09.2014 01:32
quelle

Tags und Links