2016-07-25 6 views
6

Chcę zdefiniować moje kompilacje za pomocą funkcji potoku Jenkins 2 i chcę, aby ta konfiguracja została załadowana ze źródeł w postaci Jenkinsfile. Jednak nie chcę zaśmiecać mojego węzła master w obszarze roboczym.Jak uniknąć kasowania źródeł na węźle głównym za pomocą potoku Jennkins

Idealnie można określić, że zadanie potokowe ma być uruchamiane dla danego typu węzła, ale nie wydaje się to możliwe.

widzę 2 alternatywy:

  • użyć dedykowanego repozytorium, w którym przechowywana jest konfiguracja Jenkins praca.
  • użyj strategii cleaver git checkout (płytki + rzadki).

Czy coś mi umknęło? Jaka byłaby najlepsza praktyka?

+1

Dobre pytanie. Byłem bardzo zaskoczony, gdy zobaczyłem mistrza jenkinsów, który wyewidencjonował całe 500 MB repozytorium naszego oprogramowania, żeby przeczytać w nim plik Jenkins. Nie ma sensu mieć tego kasowania na systemie głównym, ponieważ wszystkie kompilacje są uruchamiane na różnych urządzeniach niewolniczych, które kasują całą sprawę ponownie ... – Bluehorn

Odpowiedz

0

Myślę, że możesz użyć Jenkinsfile. Ale unikaj używania kroku "git checkout" Przestrzeń robocza nie jest akceptowalna z interfejsu WWW Jenkins. Możesz więc użyć Jennfile do zarządzania swoimi kompilacjami.

+0

Nie rozumiem. Jak mogę uniknąć kroku "git checkout"? –

+0

Myślę, że ja też. Po prostu nie dodawaj "git checkout" do pliku Jenkins. i twój może wykonywać wszystkie etapy na twoich niewolnikach za pomocą komendy sh – whitediver

+0

To nie zadziała, ponieważ Jenkinsfile * musi być * wyewidencjonowany na kapitana, aby zostać odczytanym (a następnie wykonać zawartość). Podczas konfigurowania zadania należy podać repozytorium scm, w którym przechowywany jest plik Jenkins. Ale nie ma opcji, aby kontrolować, gdzie to nastąpi. –