Gdzie i jak Hudson / Jenkins przechowuje dane?

18

Zainstalowałem Jenkins na Ubuntu 10.10 i nie mogłem znaleźć żadnej wzmianki o konfiguracji bazy danych dla utrwalania danych.

Pierwsze pytanie dotyczy tego, gdzie przechowywane są dane, a po drugie, czy możemy skonfigurować Hudson / Jenkins za pomocą mySQL? lub podobne bazy danych?

kamal
źródło
W systemie plików, zazwyczaj coś /var/lib/jenkins/, /var/jenkins_home/albo /home/jenkins/.
Ondra Žižka

Odpowiedzi:

11

Hudson / Jenkins nie działa w ten sposób. /var/lib/jenkinsDomyślnie przechowuje konfiguracje i informacje o zadaniu (jeśli korzystasz z pakietu .deb). Jeśli chcesz skonfigurować trwałość dla konkretnej aplikacji, musisz sobie z tym poradzić - Hudson to serwer ciągłej integracji, a nie środowisko testowe.

Przejrzyj artykuł Wiki na temat ciągłej integracji, aby uzyskać przegląd tego, czego możesz się spodziewać.

Andrew M.
źródło
2
@Redmumba Rozumiem, że to serwer CI, ale po prostu zastanawiałem się nad możliwością wykorzystania go do przeprowadzania testów jednostkowych i utrwalania wyników w bazie danych zamiast plików flar. Ponieważ Jenkins MOŻE być używany do prowadzenia i wyświetlania testów. jakieś pomysły?
kamal
Kompilacja to znacznie więcej niż kompilacja (lub jej dynamiczne odmiany języka). Kompilacja może składać się między innymi z kompilacji, testowania, inspekcji i wdrażania. Kompilacja działa jak proces łączenia kodu źródłowego i sprawdzania, czy oprogramowanie działa jako spójna jednostka.
kamal
1
Jak powiedziałem, Jenkins to tylko serwer CI - nie jest to framework. Na wszelki wypadek Jenkins po prostu uruchamia określone przez Ciebie skrypty - nie dba o trwałe przechowywanie, używane języki ani nawet to, co robisz. Myślę, że właśnie tam jest rozłączenie - Jenkins nie zapewnia trwałej pamięci masowej dla twojej aplikacji itp.
Andrew M.
1
ref: z książki „Ciągła integracja: wielu uważa, że ​​CI bez zautomatyzowanych, ciągłych testów nie jest CI. Nie moglibyśmy się więcej zgodzić. Bez automatycznych testów deweloperom lub innym interesariuszom projektów trudno jest mieć zaufanie do zmian w oprogramowaniu. Większość programiści w projektach korzystających z systemu CI używają narzędzi do testowania jednostek, takich jak JUnit, NUnit lub inne frameworki xUnit, aby uruchamiać testy. Ponadto można uruchamiać różne kategorie testów z systemu CI w celu przyspieszenia kompilacji. Te kategorie mogą obejmować jednostka, komponent, system, obciążenie / wydajność, bezpieczeństwo i inne
kamal
1
Dobrze; więc jesteśmy na tej samej stronie. Jenkins uruchamia te rzeczy - nie zarządza warstwami trwałości, ramami testowymi, narzędziami do budowania (oprócz mrówek) itp. Musisz zbudować swoją warstwę trwałości i testy osobno. Jenkins może wyświetlać wykresy unittestów, jeśli są one wyprowadzane w formacie xunit, co jest czymś, co oferują ramy testowe Java; wiele innych języków (takich jak nos Pythona) również będzie wyświetlać w tym formacie.
Andrew M.
6

Jenkins może wydawać się, że przechowuje dane na podstawie tego, co robią twoje skrypty i jak.

Jako przykład; skrypty uruchamiające codzienne kompilacje zatwierdzeń można skonfigurować tak, aby przekazywały wyniki „pass / fail” do Jenkinsa w celu przechowywania w pliku XML. Następnie, jeśli kiedykolwiek zechcesz pobrać historyczne wyniki „pass / fail” i użyć ich gdzie indziej niż w interfejsie GUI Jenkins, możesz zadzwonić do interfejsu API Jenkins i uzyskać zwrot tego XML. Parsuj to i masz potrzebne dane.

Ale - Poza tym, Jenkins nie ma systemu repozytoriów ze względu na swoje samotne życie.

Ponadto poniżej podano informacje interfejsu API jenkins: https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API

Ząbkować
źródło
2

Odpowiedź jest taka, że ​​Jenkins tego nie skonfiguruje. Musisz powiedzieć, jak skonfigurować środowisko i jak przeprowadzić testy. Zwykle odbywa się to w sekcji kroków kompilacji. Jeśli dostarczysz więcej informacji na temat używanej platformy, być może moglibyśmy dać bardziej konkretną odpowiedź. Możesz mieć skrypt powłoki, który zainstaluje aplikację i uruchomi testy, a następnie wywołasz ją z Hudson. Tworzenie danych wyjściowych testera w przyjazny dla Hudsona sposób, aby w końcu uzyskać wyniki testów w interfejsie webUI w celu ich przeglądania.

Jorge Vargas
źródło
2

Przechowuje dane w katalogu domowym w .jenkinskatalogu. W tym katalogu możesz znaleźć wszystkie istotne informacje dotyczące twoich kompilacji.

Jenkins nie zapewnia wbudowanej obsługi połączenia z dowolną bazą danych.

użytkownik257831
źródło