Jestem nowy w Hudson / Jenkins i zastanawiałem się, czy istnieje sposób na sprawdzenie plików konfiguracyjnych Hudsona w kontroli źródła.
Najlepiej byłoby móc kliknąć przycisk w interfejsie użytkownika, który mówi „zapisz konfigurację” i mieć pliki konfiguracyjne Hudson zaewidencjonowane do kontroli źródła.
version-control
hudson
jenkins
jenkins-plugins
Yuval Roth
źródło
źródło
Odpowiedzi:
Najbardziej pomocna odpowiedź
Istnieje wtyczka zwana wtyczką konfiguracyjną SCM Sync .
Oryginalna odpowiedź
Spójrz na moją odpowiedź na podobne pytanie. Podstawowym pomysłem jest użycie wtyczki filesystem-scm-plugin do wykrywania zmian w plikach xml. Twoja druga część polegałaby na zatwierdzeniu zmian w SVN.
EDYCJA: Jeśli znajdziesz sposób na określenie użytkownika wymagającego zmiany, daj nam znać.
EDYCJA 2011-01-10 W międzyczasie pojawiła się nowa wtyczka: wtyczka konfiguracyjna SCM Sync . Obecnie działa tylko z subversion i git, ale planowane jest wsparcie dla większej liczby repozytoriów. Używam go od wersji 0.0.3 i do tej pory działał dobrze.
źródło
Zwróć uwagę, że Vogella ma niedawne (styczeń 2014, w porównaniu do pytania PO w styczniu 2010) i inne podejście do tego zagadnienia.
Weź pod uwagę, że wtyczka konfiguracyjna SCM Sync może generować wiele zatwierdzeń.
Więc zamiast polegać na wtyczce i zautomatyzowanym procesie, zarządza tą samą funkcją ręcznie:
Przechowywanie informacji o zadaniach Jenkinsa w Git
Alberto faktycznie poleca również dodanie (w
$JENKINS_HOME
):config.xml
),hudson*.xml
) iusers/*/config.xml
)źródło
config.xml
?Aby ręcznie zarządzać konfiguracją za pomocą Git, pomocny może być następujący plik .gitignore.
Zobacz ten GitHub Gist i ten wpis na blogu, aby uzyskać więcej informacji.
źródło
Dostępna jest nowa wtyczka konfiguracji synchronizacji SCM, która robi dokładnie to, czego szukasz.
Właściwie jeszcze tego nie próbowałem, ale wygląda obiecująco.
źródło
Pliki konfiguracyjne można znaleźć w folderze domowym Jenkins (np
/var/lib/jenkins
.).Aby zachować je w VCS, najpierw zaloguj się jako Jenkins (
sudo su - jenkins
) i utwórz jego poświadczenia git:Następnie zainicjalizuj, dodaj i zatwierdź podstawowe pliki, takie jak:
rozważ również utworzenie
.gitignore
z następującymi plikami do zignorowania (dostosuj w razie potrzeby):Następnie dodać:
git add .gitignore
.Po zakończeniu możesz dodać pliki konfiguracyjne zadania, np
Na koniec dodaj i zatwierdź wszelkie inne pliki, jeśli to konieczne, a następnie prześlij je do zdalnego repozytorium, w którym chcesz zachować pliki konfiguracyjne.
Gdy pliki Jenkins są aktualizowane, należy je ponownie załadować ( Załaduj ponownie konfigurację z dysku ) lub uruchomić
reload-configuration
z interfejsu wiersza polecenia Jenkins.źródło
*.xml
nie zmienia reguły i git ignoruje wszystkie pliki xml, w tym plikiconfig.xml
zjobs
katalogu,git status
po cichu ignoruje każdy nowy projekt.Wolę wykluczyć wszystko w folderze domowym Jenkins z wyjątkiem plików konfiguracyjnych, które naprawdę chcesz mieć w swoim VCS. Oto
.gitignore
plik, którego używam:To ignoruje wszystko (
*
) z wyjątkiem samego (!
).gitignore
, zadań / projektów, wtyczki i innych ważnych plików konfiguracyjnych użytkownika.Warto również rozważyć dołączenie rozszerzenia
plugins
folderu. Irytująco zaktualizowane wtyczki powinny zostać uwzględnione ...Zasadniczo to rozwiązanie ułatwia przyszłe aktualizacje Jenkins / Hudson, ponieważ nowe pliki nie są automatycznie objęte zakresem. Po prostu wejdź na ekran, czego naprawdę chcesz.
źródło
Bardziej trafne
.gitignore
, inspirowane odpowiedzią Nepa :Ignoruje wszystko oprócz
.xml
plików konfiguracyjnych i.gitignore
siebie. (różnica do Nepa „s.gitignore
jest to, że nie«ignoruj»wszystkie katalogi najwyższego poziomu (!*/
) jaklogs/
,cache/
itp)źródło
Odpowiedź Marka ( https://stackoverflow.com/a/4066654/142207 ) powinna działać dla SVN i Git (chociaż konfiguracja Gita nie działała dla mnie).
Ale jeśli potrzebujesz go do pracy z repozytorium Mercurial, utwórz zadanie za pomocą następującego skryptu:
źródło
Napisałem wtyczkę, która pozwala sprawdzić instrukcje Jenkinsa w kontroli źródła. Wystarczy dodać
.jenkins.yml
plik z zawartością:a Jenkins to zrobi:
źródło
Zameldowałem się całkowicie w hudsonie, możesz użyć tego jako punktu wyjścia https://github.com/morkeleb/continuous-delivery-with-hudson
Utrzymanie całego hudsona w gicie ma zalety. Wszystkie zmiany w konfiguracji są rejestrowane i możesz łatwo przetestować testowanie na jednym komputerze, a następnie zaktualizować inne komputery za pomocą git pull.
Wykorzystaliśmy to jako szablon dla naszej konfiguracji ciągłej dostawy Hudson w pracy.
Pozdrawiam Morten
źródło