2013-09-27 15 views
12

Mam skonfigurowane jenkins z pluginem gerrit trigger do sprawdzania poprawności każdego zatwierdzenia, które popychamy do gerrit. Spodziewam się, że ten czynnik uruchamiający wprowadzi moją ostatnią zmianę z oryginalnym repo i zrobi kompilację. Ale to jest klonowanie tylko projektu repo i kompilowanie bez mojej zmiany.Jenkins gerrit trigger nie pobiera mojej zmiany podczas budowania

Poniżej znajdują się moje ustawienia konfiguracyjne dla wyzwalacza gerrit w jenkins.

Refspec: $GERRIT_REFSPEC 
Branches to build: $GERRIT_BRANCH 
Build trigger: Gerrit event 
Trigger on: patch set created 
Gerrit project: added project and branch 

Poniżej jest przesłanie wyjściowy build

Triggered by Gerrit: http://ci-test1/22 
Building on master in workspace /var/lib/jenkins/jobs/Build_Adserver_4.7/workspace 
Checkout:workspace//var/lib/jenkins/jobs/Build_Adserver_4.7/workspace - [email protected] 
Using strategy: Default 
Last Built Revision: Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7) 
Fetching changes from 1 remote Git repository 
Fetching upstream changes from abc 
Commencing build of Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7) 
Checking out Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7) 
[workspace] $ /bin/sh -xe /tmp/hudson1375188638196718521.sh 
+ echo 'Started Build' 
Started Build 
+ echo .................. 
.................. 
+ echo 'Build Finished' 
Build Finished 
Finished: SUCCESS 

Tutaj 701a75ef38aa191ac1b806c48e6b3451671888f6 jest szefem oddziału repo i 8cbda558adcad4fb7eb714e0b3fb98a6fbf5811c jest SHA-id z mojej ostatniej zmiany trigged kompilacji.

Zweryfikowałem także z obszaru roboczego Jenkins, ale nie uwzględniam mojej zmiany.

Przepraszam, jeśli brakuje mi jakichkolwiek informacji. Proszę dać mi znać pomóżcie mi, jeśli czegoś tu brakuje.

Odpowiedz

7

Trzeba zmienić Choosing Strategy do Gerrit Trigger

Przejdź do strony konfiguracyjnej swojego zadania, a następnie kliknąć na przycisk 2 Advanced sekcji git. Prawie na dnie znajduje się Choosing Strategy że trzeba będzie zmienić Gerrit Trigger

Spowoduje Git pobrać odpowiednią wersję dla swojej kompilacji

+0

dziękuję uncletall. To działa – Sridhar

+0

@całkowicie, również mam ten problem. Używam teraz najnowszych wersji. Nie widzę "Wybór strategii". Zgodnie z nową wersją skonfigurowałem poprawnie parametry "Gerrit Trigger". Ale wciąż moje jenkins na starym kodzie. pls help – Virtual

+1

Jestem prawie pewien, że jest tam w najnowszej wersji. ALE! Wtyczka git jest w tej chwili poważnie uszkodzona. Musiałem obniżyć wersję klienta Git Client z wersji 1.6.1 do wersji 1.4.6 i wtyczki Git z wersji 2.0.1 do wersji 1.4.0, aby ponownie uruchomić Gerrit Trigger. – uncletall

16

Korzystanie Jenkins 1.532.2 Git Git Client Plugin 1.6.2 Plugin 2.0.1 Git wyzwalania 2.11.0

Oto kroki do konfigurowania Gerrit spust (z pamięci, mam nadzieję, że wszystko działa poprawnie):

  1. Instalacja wtyczki (s) "Gerrit trigger", "Git Plugin" i "Git Client Plugin"
  2. W głównej konfiguracji Jenkins (HOME-> Manage Jenkins), kliknij Gerrit Trigger.
  3. Utwórz serwer i skonfiguruj go. Użyj "Testuj połączenie", aby upewnić się, że działa.
  4. Na końcu, pod "Kontrolą", naciśnij "start" (Nie mam pojęcia, co to jest lub czy jest to rzeczywiście potrzebne, ale zrobiłem to).
  5. Idź do konfiguracji swojego projektu (MYPROJECT-> Configure)
  6. Check "Gerrit zdarzenie" pod "Build wyzwalaczy"
  7. w nowo dodanej menu wybierz Server, wyzwalacze, itp
  8. Dla Gerrit Projektu użyłem „ZWYKŁY” z „myproject” jako wzór
  9. Dla Oddziału, użyłem „ścieżka” i „**” jako wzór (buduje wszystkie oddziały)
  10. pod „Kod nieśmiertelności” (Zarządzanie się z wyzwalaczy w moim UI), kliknij na "Git"
  11. Ustaw repozytorium URL, tutaj $ user pasuje do mnie, ale inaczej napisać poprawny użytkownik $ GERRIT_SCHEME: // $ USER @ $ GERRIT_HOST: $ GERRIT_PORT/$ GERRIT_PROJECT
  12. Określ oddział: $ GERRIT_BRANCH
  13. W sekcji "Repozytoria" po prawej stronie kliknij Zaawansowane, aby wpisać "Refspec" wpisz $ GERRIT_REFSPEC
  14. Kliknij Dodaj tuż poniżej i wybierz „Strategię wyboru co do budowy”
  15. Wybierz „Gerrit spust”

Nie bardzo intuicyjny, ale powinno działać. Proponuję upewnić się, że budowane są poprawne identyfikatory SHA1.

Jeśli napotkasz Error stderr: fatal: Couldn't find remote ref $GERRIT_REFSPEC

enter image description here

+0

musisz zmienić wersję wtyczki git? – uncletall

+1

Nie trzeba obniżać wersji. Nie korzystam jednak z najnowszej wersji jenkins. Zobacz moją odpowiedź na dokładne numery wersji. –

+0

Dziękuję bardzo. Robię gerrit-> jenkins-> docker-pipeline, twoja odpowiedź jest bardzo pomocna! –

0

Mocowanie małych problemów w Lewis odpowiedź, zmienić wartości na następujące kwestie w celu zapewnienia najnowszych SHA1 jest zbudowany.

branch: $GERRIT_REFSPEC

REFSPEC: $GERRIT_REFSPEC:$GERRIT_REFSPEC

Powiązane problemy