Kiedy zaczniesz tworzyć rurociągi Jenkin za pomocą deklaratywnego JenkinsFile, popełnianie błędów w definicji składni.
Dlatego dobrą praktyką jest sprawdzanie i weryfikowanie plików Jenkins przed zaangażowaniem ich w repozytoria. Zapewnia to, że nie masz wielu nieudanych kompilacji na serwerze Jenkins.
Ten samouczek pokaże różne metody i techniki, których możesz użyć do kłaczania i weryfikacji JenkinsFile przed uruchomieniem ich na serwerze.
Jenkinsfile
Jenkinsfile to potężne narzędzie, które pozwala określić instrukcje dla twoich kompilacji w prostej i łatwej do zrozumienia składni. Istnieją dwie główne metody tworzenia Jenkinsfile:
Ten samouczek skupi się na artykule napisanym w składni deklaratywnej, ponieważ jest o wiele łatwiejsza do zrozumienia i użycia.
Poniżej pokazuje składnię prostego deklaratywnego Jenkinsfile.
def msg = "To jest tekst niestandardowy"
rurociąg
agent dowolny
Etapy
scena („hello”)
kroki
skrypt
msg = "Teraz ciąg jest inny!!"
echo "$ msg"
Nie przejdziemy przez strukturę pliku ani tego, co reprezentuje każdy blok w powyższym pliku. Zamiast tego możesz sprawdzić nasz samouczek Jenkins, aby zbadać różne podstawy Jenkinsa, takie jak Deklaracja zmienna, sceny Jenkins, etapy Jenkins i wiele innych.
Co jest kłaczające i dlaczego jest to ważne?
Kierowanie odnosi się do procesu sprawdzania kodu źródłowego pod kątem potencjalnych problemów lub błędów. W większości przypadków zwykle wykonywamy kod za pośrednictwem dedykowanego narzędzia o nazwie Linter.
Liner kodu przyjmie kod źródłowy wejściowej, przeanalizuje go i zapewni, że w pliku nie ma potencjalnych błędów. Weryczy również kwestie składni i formatowania zdefiniowanych w danym języku.
Niektóre typowe problemy, które Linters może wykryć, obejmują błędy składniowe, problemy z formatowaniem i potencjalne problemy logiczne.
Tutaj leży problem, jeśli chodzi o Jenkinsfiles. Po edycji JenkinsFile musisz popełnić zmiany i popchnąć zmiany do repozytorium.
Jednak Jenkins jest skonfigurowany do wykonywania kompilacji za każdym razem, gdy wykrywana jest zmiana w Jenkinsfile. Stąd, jeśli popełnisz jakikolwiek błąd w pliku i popełnisz bez testowania, Jenkins spróbuje zbudować projekt i zawieść z powodu błędów w pliku rurociągu.
Często napotykasz takie błędy, co prowadzi do powolnych jednoczesnych kompilacji, a nawet mnóstwa zobowiązań GIT za naprawę błędów składniowych.
Aby zapobiec takich błędów, dobrze jest użyć linera, aby sprawdzić, czy wszystko działa przed zaangażowaniem.
Jak kłaczyć Jenkinsfile
Porozmawiajmy teraz, w jaki sposób możemy kłaczyć Jenkinfile lokalnie przed popełnieniem.
Metoda 1 - Korzystanie z deklaratywnego Lintera Jenkinsa
Pierwszą metodą, której możemy użyć do nadpokomu JenkinsFile przed popełnieniem, jest użycie wiersza poleceń.
Zaloguj się do pulpitu pulpitu Jenkins - Zarządzaj Jenkins - Jenkins Cli i Donwload the Jenkins Cli Utility.
Znajdziesz link do pobrania Jenkins CLI i jak uruchomić polecenie w pierwszej sekcji.
Po pobraniu przejdź do lokalizacji Jenkins-Cli.plik jar i uruchom powyższe polecenie.
Polecenie powinno wymienić możliwe polecenia, które możesz wykonać na serwerze, jak pokazano:
Konfigurowanie przykładowego Jenkinsfile
Kolejnym krokiem jest skonfigurowanie przykładowego Jenkinsfile, którego potrzebujemy, aby nadać i przetestować pod kątem ważności. Do celów demonstracyjnych użyjemy prostego skryptu Hello World, jak podano poniżej:
def msg = "To jest tekst niestandardowy"
rurociąg
agent dowolny
Etapy
scena („hello”)
kroki
skrypt
msg = "Teraz ciąg jest inny!!"
echo $ msg
Możesz zapisać JenkinsFile w dowolnym miejscu w systemie plików.
Kłaczając Jenkinsfile z wiersza poleceń
Aby kłaczyć Jenkinsfile z wiersza poleceń, możemy użyć polecenia:
$ java -jar jenkins -cli.jar -s Jenkins_Url -WebSocket Deklaratywne -lininter < Jenkinsfile
gdzie Jenkins_Url jest adresem do kontrolera Jenkinsa.
Jeśli Twój serwer Jenkins potrzebuje uwierzytelnienia, użyj opcji -Auth, a następnie nazwy użytkownika i hasła jako nazwa użytkownika: hasło.
Przykładowa składnia pokazano poniżej:
$ java -jar jenkins -cli.JAR -s Jenkins_Url -Auth Nazwa użytkownika: hasło -WebSocket Deklaratywne -liner < Jenkinsfile
Pokazajmy wyjście Lintera, gdy mijamy powyższe Jenkinsfile.
$ java -jar jenkins -cli.jar -s http: // localhost: 9001/-Auth root: hasło -WebSocket -Deklaratywne -Linter < .\Jenkinsfile
Po uruchomieniu powyższego polecenia Linter przeanalizuje Jenkinsfile i wyprowadzi wszelkie potencjalne problemy. Ponieważ nasz plik ma błędy, Linter powie nam, dlaczego i potencjalne poprawki, jak pokazano poniżej.
W takim przypadku Linter mówi nam, że musimy dołączyć nazwę zmiennej w bloku echa ze znakami cytatowymi.
Możemy iść dalej i naprawić nasz plik.
def msg = "To jest tekst niestandardowy"
rurociąg
agent dowolny
Etapy
scena („hello”)
kroki
skrypt
msg = "Teraz ciąg jest inny!!"
echo "$ msg"
Po naprawie możemy ponownie uruchomić nasze polecenie Linter:
$ java -jar jenkins -cli.jar -s http: // localhost: 9001/-Auth root: hasło -WebSocket -Deklaratywne -Linter < .\Jenkinsfile
Ponieważ nie mamy żadnych błędów w naszym Jenkinsfile, polecenie zwróci wiadomość jak pokazano:
Jenkinsfile z powodzeniem zatwierdził.
I pomyślnie przetestowaliśmy i zweryfikowaliśmy, aby nasz Jenkinsfile jest gotowy do zatwierdzenia.
Metoda 2 - Dodanie Jenkinsfile Linter do swojego edytora
Drugą wspólną metodą testowania i weryfikacji Jenkinsfile jest dodanie wtyczki Jenkins Linter do edytora.
Jenkins zapewnia Linter dla:
W tej sekcji pokaże, jak używać Jenkinsfile Linter w kodzie Visual Studio.
W kodzie Visual Studio naciśnij Ctrl + Shift + K, aby otworzyć menu rozszerzeń. Wyszukaj „Jenkins Pipeline Linter”.
Wybierz rozszerzenie „Jenkins Pipeline Linter Connector” i kliknij Instaluj.
Po zainstalowaniu otwórz JenkinsFile w kodzie Visual Studio i naciśnij Ctrl + Shift + P, aby otworzyć paletę poleceń.
Wprowadź polecenie „Własność JenkinsFile” i naciśnij ENTER, aby wykonać, aby wykonać.
To skłoniłby Cię do adresu URL Jenkins Linter.
https: /// rurociąg-Model-Converter/Validate
Wprowadź link powyżej, jak pokazano w poniższym przykładzie:
http: // localhost: 8080/model rurociągu-konwerter/sprawdź
Jeśli Twój serwer wymaga uwierzytelnienia, otwórz ustawienia kodu Visual Studio i wyszukaj „Jenkins”.
Ustaw nazwę użytkownika i hasło Jenkins.
Po uruchomieniu polecenia „Walidacja Jenkinsfile” rozszerzenie przeanalizuje Twój Jenkinsfile i pokaże potencjalne problemy.
Wniosek
Nauczyłeś się, jak używać Jenkins Cli Linter do testowania i weryfikacji Jenkinsfile na swoim komputerze. Nauczyłeś się również, jak dodać Jenkins Linter do kodu Visual Studio, aby przetestować Jenkinsfile od edytora.