jenkins Samouczek
Pierwsze kroki z Jenkinsem
Szukaj…
Uwagi
Jenkins jest narzędziem ciągłej integracji open source napisanym w Javie. Projekt został rozwidlony przez Hudsona po sporze z Oracle .
Jenkins zapewnia usługi ciągłej integracji w zakresie opracowywania oprogramowania. Jest to system serwerowy działający w kontenerze serwletu, takim jak Apache Tomcat. Obsługuje narzędzia SCM, w tym AccuRev, CVS, Subversion, Git, Mercurial, Perforce, Clearcase i RTC, i może realizować projekty oparte na Apache Ant i Apache Maven, a także dowolne skrypty powłoki i polecenia wsadowe systemu Windows. Głównym twórcą Jenkins jest Kohsuke Kawaguchi . Wydane na licencji MIT, Jenkins jest wolnym oprogramowaniem.
Kompilacje mogą być uruchamiane na różne sposoby, w tym uruchamiane przez zatwierdzenie w systemie kontroli wersji, poprzez planowanie za pomocą mechanizmu podobnego do crona, budowanie po zakończeniu innych kompilacji oraz żądanie adresu URL konkretnej kompilacji.
Wersje
Jenkins
Wersja | Data wydania |
---|---|
1,656 | 2016-04-03 |
2.0 | 2016-04-20 |
Jenkins 1.x vs Jenkins 2.x
Jenkins jest (i nadal jest) systemem ciągłej integracji (CI), który umożliwia automatyzację procesu tworzenia oprogramowania, na przykład budowanie kodu na wyzwalaczach SCM. Jednak rosnące zapotrzebowanie na ciągłą dostawę (CD) wymagało, aby Jenkins ewoluował od czystego systemu CI do mieszanki CI i CD. Wzrasta również potrzeba cofnięcia uprzemysłowienia ofert pracy Jenkins, a klasyczne oferty pracy Jenkins 1.x Freestyle/Maven jobs
zaczęły być zbyt ograniczone w stosunku do niektórych potrzeb.
Pod Jenkins 1.xa pojawiła się wtyczka zwana workflow-plugin
która pozwala programistom pisać kod opisujący zadania. Jenkins 2 idzie dalej, dodając wbudowaną obsługę Pipeline as Code
. Główną zaletą jest to, że potoki, będące plikami skryptów Groovy, mogą być bardziej złożone niż zadania freestyle skonfigurowane w interfejsie użytkownika i mogą być kontrolowane pod kątem wersji. Jenkins 2 dodaje także nowy interfejs, który ułatwia wizualizację różnych „etapów” zdefiniowanych w potoku i śledzenie postępów całego potoku, takich jak poniżej:
Aby uzyskać pełny przegląd tego, co Jenkins 2 dodaje do Jenkins, zobacz Jenkins 2 Overview .
Ponadto pełny dziennik zmian jest dostępny na stronie Jenkins.
Instalacja
Dla systemów opartych na apt-get, takich jak Ubuntu
Dodaj repozytorium Jenkins:
wget -q -O - https://jenkins-ci.org/debian/ Jenkins-ci.org.key | sudo apt-key
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
Zaktualizuj źródła i zainstaluj Jenkins:
sudo apt-get update
sudo apt-get install jenkins
Użytkownik Jenkins został utworzony i domyślnie Jenkins będzie działał na porcie 8080.
Dla dystrybucji opartych na RPM, takich jak Red Hat Enterprise Linux (RHEL), CentOS, Fedora lub Scientific Linux
Aby pobrać plik repozytorium dla wersji stabilnej:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
Lub jeśli chcesz najnowsze cotygodniowe wydania:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
Zaimportuj klucz publiczny:
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
Zainstaluj Jenkins za pomocą yum:
sudo yum install jenkins
Jenkins wymaga java do uruchomienia, aby go zainstalować:
sudo yum install java
Aby uruchomić / zatrzymać / zrestartować jenkins użyj:
sudo service jenkins start/stop/restart
Aktualizacja jenkins (instalacje RPM)
- Kopia zapasowa katalogu domowego jenkins
- Zastąp jenkins.war w następującej lokalizacji nowym plikiem WAR. / usr / lib / jenkins / jenkins.war`
- Uruchom ponownie Jenkins
- Sprawdź przypięte wtyczki i odpnij w razie potrzeby
- Załaduj ponownie konfigurację z dysku
Uwaga: W przypadku aktualizacji Jenkins 2 dla dołączonego serwera aplikacji jetty wyłącz port AJP (ustaw JENKINS_AJP_PORT="-1"
) w /etc/sysconfig/jenkins
.
Konfigurowanie serwera proxy Nginx
Natywnie Jenkins działa na porcie 8080. Możemy ustanowić serwer proxy z portu 80 -> 8080, aby uzyskać dostęp do Jenkins poprzez:
http://<url>.com
zamiast domyślnego
http://<url>.com:8080
Zacznij od instalacji Nginx.
sudo aptitude -y install nginx
Usuń domyślne ustawienia Nginx
cd /etc/nginx/sites-available
sudo rm default ../sites-enabled/default
Utwórz nowy plik konfiguracyjny
sudo touch jenkins
Skopiuj poniższy kod do nowo utworzonego pliku jenkins
.
upstream app_server {
server 127.0.0.1:8080 fail_timeout=0;
}
server {
listen 80;
listen [::]:80 default ipv6only=on;
server_name ;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://app_server;
break;
}
}
}
Utwórz symboliczne łącze między witrynami dostępnymi i włączonymi witrynami:
sudo ln -s /etc/nginx/sites-available/jenkins /etc/nginx/sites-enabled/
Uruchom ponownie usługę proxy Nginx
sudo service nginx restart
Jenkins będzie teraz dostępny z portu 80.
Instalowanie wtyczki ze źródła zewnętrznego
java -jar [Path to client JAR] -s [Server address] install-plugin [Plugin ID]
Klient JAR musi być plikiem JAR CLI, a nie tym samym plikiem JAR / WAR, w którym działa sam Jenkins. Unikalne identyfikatory można znaleźć na odpowiedniej stronie wtyczek na wiki Jenkins CLI ( https://wiki.jenkins-ci.org/display/JENKINS/Plugins)
Przenieś Jenkinsa z jednego komputera na drugi
Pomogło mi to przejść z Ubuntu 12.04 (Jenkins wer. 1.628) do Ubuntu 16.04 (Jenkins wer. 1.651.2). Najpierw zainstalowałem Jenkinsa z repozytoriów .
Skopiuj
JENKINS_HOME
(np. /JENKINS_HOME
/ lib / jenkins) ze starego serwera na nowy. Z konsoli na nowym serwerze:rsync -av username@old-server-IP:/var/lib/jenkins/ /var/lib/jenkins/
Możesz tego nie potrzebować, ale musiałem
-
Manage Jenkins
iReload Configuration from Disk
. - Odłącz i podłącz ponownie wszystkich niewolników.
- Sprawdź, czy w
Configure System > Jenkins Location
Jenkins URL
jest poprawnie przypisany do nowego serwera Jenkins.
Skonfiguruj projekt w Jenkins
Tutaj sprawdzimy najnowszą kopię kodu naszego projektu, uruchomimy testy i uruchomimy aplikację. Aby to osiągnąć, wykonaj następujące kroki:
- Otwórz Jenkins w przeglądarce.
- Kliknij link Nowa praca .
- Wprowadź nazwę projektu i wybierz łącze Utwórz darmowy projekt oprogramowania .
- Kliknij przycisk OK .
- W sekcji Zarządzanie kodem źródłowym zaznacz pole wyboru obok narzędzia do zarządzania kodem źródłowym. W moim przypadku wybrałem Git .
Podaj adres URL repozytorium git://github.com/example/example.git
takiego jak git://github.com/example/example.git
- W obszarze Wyzwalacze kompilacji zaznacz pole wyboru obok opcji Ankieta SCM .
- Podaj
*****
w polu Harmonogram . To pole jest odpowiedzialne za uruchamianie kompilacji w regularnych odstępach czasu.*****
określa, że zadanie będzie uruchamiane co minutę w przypadku zmian w repozytorium git. - W sekcji Kompilacja kliknij przycisk Dodaj krok kompilacji , a następnie wybierz opcję, za pomocą której chcesz zbudować projekt. Wybrałem opcję Wykonaj powłokę . W polu poleceń wpisz polecenie budowania, uruchom testy i wdróż je w prod.
- Przewiń w dół i zapisz .
Powyżej skonfigurowaliśmy podstawowy projekt w Jenkins, który co minutę uruchamia kompilację w celu zmiany w twoim repozytorium git. Uwaga: Aby skonfigurować skomplikowany projekt, może być konieczne zainstalowanie niektórych wtyczek w Jenkins.
Jenkins pełne wprowadzenie w jednym miejscu
1. Jenkins:
Jenkins jest narzędziem ciągłej integracji open source napisanym w Javie. Projekt został rozwidlony przez Hudsona po sporze z Oracle.
Krótko mówiąc, Jenkins jest wiodącym serwerem automatyzacji typu open source. Zbudowany w Javie, zapewnia setki wtyczek do obsługi budowania, testowania, wdrażania i automatyzacji dla praktycznie każdego projektu.
Funkcje: Jenkins oferuje następujące główne funkcje po wyjęciu z pudełka, a wiele wtyczek można dodać za pomocą wtyczek:
Łatwa instalacja: wystarczy uruchomić java -jar jenkins.war, wdrożyć go w kontenerze serwletu. Bez dodatkowej instalacji, bez bazy danych. Wolisz instalator czy pakiet natywny? My też je mamy. Łatwa konfiguracja: Jenkins można skonfigurować w całości z przyjaznego internetowego interfejsu GUI z rozbudowanymi kontrolami błędów w locie i bezpośrednią pomocą. Bogaty ekosystem wtyczek: Jenkins integruje się z praktycznie każdym istniejącym narzędziem SCM lub narzędziem do budowania. Zobacz wtyczki. Rozszerzalność: Większość części Jenkins można rozszerzać i modyfikować, a tworzenie nowych wtyczek Jenkins jest łatwe. Pozwala to dostosować Jenkins do własnych potrzeb. Rozproszone kompilacje: Jenkins może dystrybuować obciążenia kompilacji / testowania na wiele komputerów z różnymi systemami operacyjnymi. Budujesz oprogramowanie dla OS X, Linux i Windows? Nie ma problemu.
Instalacja:
$ wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
$ sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
$ sudo apt-get update
$ sudo apt-get install jenkins
to do more refer link :
Ref: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
Patrz: http://www.vogella.com/tutorials/Jenkins/article.html
Ref: https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins
Katalog JENKINS_HOME Jenkins potrzebuje trochę miejsca na dysku do wykonywania kompilacji i przechowywania archiwów. Możesz sprawdzić tę lokalizację na ekranie konfiguracji Jenkins. Domyślnie jest to ustawione na ~ / .jenkins, ale możesz to zmienić na jeden z następujących sposobów: Ustaw zmienną środowiskową „JENKINS_HOME” w nowym katalogu osobistym przed uruchomieniem kontenera serwletu. Ustaw właściwość systemową „JENKINS_HOME” na kontener serwletu. Ustaw pozycję środowiska JNDI „JENKINS_HOME” w nowym katalogu. Zobacz kolekcję dokumentacji specyficznej dla kontenera, aby dowiedzieć się, jak to zrobić dla swojego kontenera. Możesz zmienić tę lokalizację także po pewnym czasie korzystania z Jenkinsa. Aby to zrobić, całkowicie zatrzymaj Jenkinsa, przenieś zawartość ze starego JENKINS_HOME do nowego domu, ustaw nowy JENKINS_HOME i uruchom ponownie Jenkins. JENKINS_HOME ma dość oczywistą strukturę katalogów, która wygląda następująco:
JENKINS_HOME
+- config.xml (jenkins root configuration)
+- *.xml (other site-wide configuration files)
+- userContent (files in this directory will be served under your http://server/userContent/)
+- fingerprints (stores fingerprint records)
+- plugins (stores plugins)
+- workspace (working directory for the version control system)
+- [JOBNAME] (sub directory for each job)
+- jobs
+- [JOBNAME] (sub directory for each job)
+- config.xml (job configuration file)
+- latest (symbolic link to the last successful build)
+- builds
+- [BUILD_ID] (for each build)
+- build.xml (build result summary)
+- log (log file)
+- changelog.xml (change log)
Jenkins Build Jobs:
Tworzenie nowej pracy kompilacji w Jenkins jest proste: wystarczy kliknąć pozycję menu „Nowa praca” na pulpicie nawigacyjnym Jenkins. Jenkins obsługuje kilka różnych rodzajów zadań kompilacji, które są przedstawiane, gdy zdecydujesz się utworzyć nowe zadanie
Projekt oprogramowania Freestyle
Zadania kompilacji Freestyle są kompilacjami ogólnego przeznaczenia, co zapewnia maksymalną elastyczność.
Projekt Maven „Projekt maven2 / 3” to zadanie kompilacji specjalnie dostosowane do projektów Maven. Jenkins rozumie pliki pom i struktury projektu Maven i może wykorzystać informacje zebrane z pliku pom, aby zredukować pracę potrzebną do skonfigurowania projektu.
Przepływ pracy
Organizuje długotrwałe działania, które mogą obejmować wiele niewolników budujących. Nadaje się do budowania rurociągów i / lub organizowania złożonych działań, które nie mieszczą się łatwo w typie pracy w wolnym stylu.
Monitorowanie zadania zewnętrznego Zadanie kompilacji „Monitorowanie zadania zewnętrznego” pozwala monitorować procesy nieinteraktywne, takie jak zadania cron.
Zadanie multikonfiguracji „Projekt multikonfiguracji” (zwany również „projektem macierzowym”) umożliwia uruchomienie tego samego zadania kompilacji w wielu różnych konfiguracjach. Ta potężna funkcja może być przydatna do testowania aplikacji w wielu różnych środowiskach, z różnymi bazami danych, a nawet na różnych komputerach.
1. Budowanie projektu oprogramowania (dowolny styl)
Jenkins może być używany do wykonywania typowej pracy serwera kompilacji, takiej jak ciągłe / oficjalne / nocne kompilacje, uruchamianie testów lub wykonywanie powtarzalnych zadań wsadowych. W Jenkins nazywa się to „projektem wolnego oprogramowania”. Konfigurowanie projektu Przejdź do strony głównej Jenkins, wybierz „Nowa praca”, a następnie „Zbuduj projekt w dowolnym stylu”. Ten typ zadania składa się z następujących elementów: opcjonalnego SCM, takiego jak CVS lub Subversion, w którym znajduje się kod źródłowy. opcjonalne wyzwalacze kontrolujące, kiedy Jenkins wykona kompilacje. jakiś rodzaj skryptu kompilacji, który wykonuje kompilację (mrówka, maven, skrypt powłoki, plik wsadowy itp.), w którym odbywa się prawdziwa praca, opcjonalne kroki w celu zebrania informacji z kompilacji, takie jak archiwizacja artefaktów i / lub nagrywanie javadoc i testowanie wyniki. opcjonalne kroki, aby powiadomić inne osoby / systemy o wyniku kompilacji, takie jak wysyłanie wiadomości e-mail, wiadomości błyskawicznych, aktualizowanie narzędzia do śledzenia problemów itp.
Kompilacje dla projektów nie będących źródłami kontroli Czasami istnieje potrzeba zbudowania projektu wyłącznie w celach demonstracyjnych lub dostęp do repozytorium SVN / CVS jest niedostępny. Wybierając konfigurację projektu jako „Brak” w „Zarządzaniu kodem źródłowym” będziesz musiał:
- Zbuduj projekt co najmniej raz (zakończy się niepowodzeniem), ale Jenkins utworzy strukturę jenkins / workspace / PROJECTNAME /
- Skopiuj pliki projektu do jenkins / workspace / PROJECTNAME /
- Zbuduj ponownie i odpowiednio skonfiguruj
Jenkins ustawia zmienne środowiskowe
Podczas wykonywania zadania Jenkins ustawia niektóre zmienne środowiskowe, których można użyć w skrypcie powłoki, poleceniu wsadowym, skrypcie Ant lub Maven POM. Zobacz listę zmiennych, klikając ENVIRONMENT_VARIABLE
Konfigurowanie automatycznych kompilacji
Kompilacje w Jenkins można uruchamiać okresowo (zgodnie z harmonogramem, określonym w konfiguracji) lub po wykryciu zmian źródłowych w projekcie lub można je automatycznie uruchomić, żądając adresu URL:
http: // YOURHOST / jenkins / job / PROJECTNAME / build
Pozwala to na podłączenie kompilacji Jenkins do różnych konfiguracji. Aby uzyskać więcej informacji (w szczególności robienie tego z włączonymi zabezpieczeniami), zobacz Interfejs API dostępu zdalnego.
Kompilacje według zmian źródła
Możesz poprosić Jenkinsa o sprawdzenie zmian w systemie kontroli wersji. Możesz określić, jak często Jenkins sonduje twój system kontroli wersji, używając tej samej składni, co crontab w systemach Unix / Linux. Jeśli jednak okres odpytywania jest krótszy niż potrzeba na sondowanie systemu kontroli wersji, możesz skończyć z wieloma kompilacjami dla każdej zmiany. Powinieneś albo dostosować okres odpytywania, aby był dłuższy niż czas potrzebny do sondowania systemu kontroli wersji, lub użyć wyzwalacza po zatwierdzeniu. Możesz sprawdzić dziennik odpytywania dla każdej kompilacji, aby zobaczyć, ile czasu zajęło sondowanie systemu.
Alternatywnie, zamiast odpytywania w ustalonych odstępach czasu, możesz użyć wyzwalacza URL (opisanego powyżej), ale z opcją / polling zamiast / build na końcu adresu URL. To sprawia, że Jenkins odpytuje SCM w poszukiwaniu zmian zamiast budować natychmiast. Zapobiega to uruchomieniu kompilacji przez Jenkinsa bez istotnych zmian zatwierdzeń wpływających na moduły lub gałęzie niezwiązane z zadaniem. Podczas używania / odpytywania zadanie musi być skonfigurowane do odpytywania, ale harmonogram może być pusty.
Buduje przez e-mail (sendmail)
Jeśli masz konto root swojego systemu i korzystasz z sendmaila, najłatwiej jest ulepszyć / etc / aliases i dodać następujący wpis: jenkins-foo: "| / bin / wget -o / dev / null
http: // YOURHOST / jenkins / job / PROJECTNAME / build ”
a następnie uruchom polecenie „newaliases”, aby powiadomić sendmaila o zmianie. Za każdym razem, gdy ktoś wyśle wiadomość e-mail do „jenkins-foo @ yoursystem”, uruchomi to nową kompilację. Zobacz to, aby uzyskać więcej informacji na temat konfigurowania sendmaila. Buduje przez e-mail (qmail) Za pomocą qmaila możesz napisać /var/qmail/alias/.qmail-jenkins w następujący sposób: | / bin / wget -o / dev / null http: // YOURHOST / jenkins / job / PROJECTNAME / build ”
2. Budowanie projektu Maven
Jenkins zapewnia typ pracy dedykowany Maven 2/3. Ten typ pracy głęboko integruje Jenkinsa z Maven 2/3 i zapewnia następujące korzyści w porównaniu z bardziej ogólnym projektem wolnego oprogramowania.
Jenkins analizuje POM Maven, aby uzyskać wiele informacji potrzebnych do wykonania swojej pracy. W rezultacie ilość konfiguracji jest drastycznie zmniejszona.
Jenkins słucha egzekucji Mavena i zastanawia się, co należy zrobić samemu. Na przykład automatycznie zapisuje raport JUnit, gdy Maven uruchomi fazę testową. Lub jeśli uruchomisz cel javadoc, Jenkins automatycznie zarejestruje javadoc.
Jenkins automatycznie tworzy zależności między projektami, które deklarują między sobą zależności SNAPSHOT. Patrz poniżej. Dlatego przede wszystkim musisz tylko skonfigurować informacje SCM i jakie cele chcesz uruchomić, a Jenkins wymyśli wszystko inne.
Ten typ projektu może automatycznie zapewniać następujące funkcje:
Archiwizuj artefakty wytworzone przez kompilację
Opublikuj wyniki testu
Wyzwalaj zadania dla projektów, które są zależnymi niżej
Wdróż swoje artefakty w repozytorium Maven
Wyniki testu na przebicie według modułu
Opcjonalnie odbuduj tylko zmienione moduły, przyspieszając kompilacje
Automatyczne tworzenie łańcuchów kompilacji na podstawie zależności modułów
Jenkins odczytuje zależności Twojego projektu z POM, a jeśli są one również zbudowane na Jenkins, wyzwalacze są skonfigurowane w taki sposób, że nowa kompilacja w jednej z tych zależności automatycznie rozpocznie nową kompilację twojego projektu. Jenkins rozumie wszystkie rodzaje zależności w POM. Mianowicie, rodzic POM
<dependencies> section of your project
<plugins> section of your project
<extensions> section of your project
<reporting> section of your project
Ten proces bierze pod uwagę wersje, dzięki czemu możesz mieć wiele wersji / gałęzi projektu na tym samym Jenkinsie i poprawnie określa zależności. Zauważ, że zakresy wersji zależności nie są obsługiwane, patrz [ https://issues.jenkins-ci.org/browse/JENKINS-2787][1] z tego powodu.
Tę funkcję można wyłączyć na żądanie - patrz opcja konfiguracji Kompiluj za każdym razem, gdy budowana jest zależność SNAPSHOT
Instalacja:
1. przejdź do Zarządzaj Jenkins >> skonfiguruj System
- w zakładce maven „Kliknij na instalację maven ......
Możesz albo zmusić Jenkinsa do zainstalowania określonej wersji Maven automatycznie, albo podać ścieżkę do lokalnej instalacji Maven (Możesz skonfigurować tyle wersji Maven dla twoich projektów kompilacji, ile chcesz i używać różnych wersji Maven dla różnych projektów. Jeśli zaznaczysz pole wyboru Zainstaluj automatycznie, Jenkins pobierze i zainstaluje dla Ciebie żądaną wersję Maven i zainstaluje ją w katalogu narzędzi w katalogu głównym Jenkins.
Jak tego użyć
Najpierw musisz skonfigurować instalację Maven (ten krok można pominąć, jeśli używasz DEV @ cloud). Można to zrobić, przechodząc do ekranu konfiguracji systemu (Zarządzaj Jenkins-> Konfiguruj system). W sekcji „Instalacje Maven”: 1) kliknij przycisk Dodaj, 2) nadaj mu nazwę, np. „Maven 3.0.3”, a następnie 3) wybierz wersję z menu rozwijanego.
Teraz Jenkins automatycznie zainstaluje tę wersję za każdym razem, gdy będzie potrzebna (na przykład na nowych komputerach z kompilacją), pobierając ją z Apache i rozpakowując.
Utwórz nową pracę Maven:
- Kliknięcie „Nowa praca / Nowy przedmiot” po lewej stronie
- Daj temu imię
- Wybierz „Zbuduj projekt Maven 2/3”
- Zapisz swoją pracę
Teraz musisz skonfigurować swoje zadanie
Wybierz SCM, którego chcesz użyć (np. Używając git)
wybierz cel maven, do którego chcesz zadzwonić
dodaj adres URL repozytorium i dane uwierzytelniające.
sprawdź repozytorium prywatnego użytkownika maven:
Możesz również zdefiniować ścieżkę klienta dla tego samego.
5 Zbuduj projekt
Zbuduj swój projekt, klikając buduj teraz i klikając pasek postępu w lewej części „Build Executor Status”, aby zobaczyć, jak Jenkins instaluje Maven, sprawdź projekt i zbuduj go za pomocą maven.
Logowanie:
https://wiki.jenkins-ci.org/display/JENKINS/Logging
Konsola skryptu:
Przydatny do rozwiązywania problemów, diagnostyki lub aktualizacji partii zadań Jenkins zapewnia konsolę skryptową, która zapewnia dostęp do wszystkich elementów wewnętrznych Jenkins. Te skrypty są napisane w Groovy, a niektóre z nich znajdziesz na tej stronie .
Skonfiguruj prosty projekt kompilacji za pomocą skryptu potokowego Jenkins 2
Tutaj będziemy tworzyć potok Groovy w Jenkins 2, aby wykonać następujące kroki:
- Sprawdzaj co 5 minut, czy nowy kod został zatwierdzony do naszego projektu
- Kod kasy z repozytorium SCM
- Kompilacja Maven naszego kodu Java
- Przeprowadź nasze testy integracyjne i opublikuj wyniki
Oto kroki, które wykonamy:
Upewnij się, że mamy przynajmniej wersję Jenkinsa 2.0 (możesz to sprawdzić w prawym dolnym rogu strony), na przykład:
Na stronie głównej Jenkins kliknij opcję Nowy element
Wprowadź nazwę projektu i wybierz Rurociąg
W sekcji Wyzwalacze kompilacji wybierz opcję Ankiety SCM i dodaj następujący 5-minutowy harmonogram CRON:
*/5 * * * *
W sekcji Rurociąg wybierz Skrypt rurociągu lub Skrypt rurociągu z SCM
Jeśli w poprzednim kroku wybrałeś skrypt potoku z SCM , musisz teraz podać adres URL repozytorium SCM (Git, Mercurial, Subversion) w adresie URL repozytorium, takim jak
http://github.com/example/example.git
. Musisz także określić ścieżkę skryptu pliku skryptu Groovy w repozytorium przyklad.git, np.pipelines/example.groovy
Skopiuj następujący kod Groovy, albo bezpośrednio w oknie skryptu Groovy, jeśli wcześniej klikałeś Pipeline Script, lub w
example.groovy
jeśli wybrałeś Pipeline Script z SCM
node('remote') {
// Note : this step is only needed if you're using direct Groovy scripting
stage 'Checkout Git project'
git url: 'https://github.com/jglick/simple-maven-project-with-tests.git'
def appVersion = version()
if (appVersion) {
echo "Building version ${appVersion}"
}
stage 'Build Maven project'
def mvnHome = tool 'M3'
sh "${mvnHome}/bin/mvn -B -Dmaven.test.failure.ignore verify"
step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])
}
def version() {
def matcher = readFile('pom.xml') =~ '<version>(.+)</version>'
matcher ? matcher[0][1] : null
}
Proszę, powinieneś być w stanie skompilować i przetestować swój pierwszy projekt Jenkins przy użyciu potoku Jenkins 2 Groovy.