2016-09-27 4 views
0

Gibt es eine Möglichkeit, Jenkins nur die geänderten Dateien von GitLab anstelle des gesamten Repository klonen zu lassen?Jenkins - Wie man nur die zuletzt geänderten Dateien von GitLab klont

+3

Ich vermute, Sie haben nicht wirklich darüber nachgedacht, wie GIT tatsächlich funktioniert, und was ein "Klon" tatsächlich tut. – RiggsFolly

+3

Warum sollte man das machen? Das lässt Sie mit einem nicht verwendbaren Klon zurück! – arkascha

+0

Sie könnten einen seichten Klon erstellen, um nur die neuesten Commits zu erhalten, und wenn Sie wirklich wollten, sollten Sie ein Skript verwenden, um mit git show die geänderten Dateien zu identifizieren. –

Antwort

1

Kurze Antwort: Tun Sie es nicht, auch wenn Sie einen Weg finden.

Hier ist der Grund:

git clone verwendet, wenn Sie lokal nicht das Repository haben und wollen eine ganze Arbeitskopie davon zu bekommen.

git pull wird verwendet, wenn das Repository bereits geklont ist und Sie nur die neuesten Änderungen abrufen möchten.

git pull könnte möglicherweise Zusammenführungskonflikte erstellen, und der Umgang mit diesen würde menschliche Intervention erfordern, und Jenkins dreht sich alles um Automatisierung, so git clone wird bevorzugt.

Jenkins Löschen des Repository und eine frische git clone gibt Ihnen auch die Gewissheit, dass, wenn Ihr Build funktioniert, ist, weil Sie arbeiten Code in Ihrem Repository auf GitLab und nicht wegen etwas, das Jenkins von einem früheren gespeichert haben bauen.

Verwandte Themen