W poprzednim wpisie przedstawiłem w jaki sposób wykonać prosty kalkulator w oparciu o projekt na Jenkinsie.
Tak jak sygnalizowałem kalkulator oparty na skrypcie napisanym w bash’u jest dosyć odporny na błędne dane wprowadzane przez użytkownika. Wynika to z natury zastosowanego rozwiązania, czyli bc.
Rozwiązanie w oparciu o skrypt groovy nie jest już tak odporne na błędne dane. Oczywiście można walidację przenieść do skryptu ale w tym przypadku było by to mało odkrywcze. Dlatego preferowanym rozwiązaniem będzie dodanie takich parametrów zadnia, które zapewnią walidację wprowadzanych danych oraz kontrolę danych w uruchomionym zadaniu. Uwaga! Jakiekolwiek walidacje parametrów nie blokują uruchomienia zadania, dlatego potrzebna jest kontrola w już uruchomionym zadaniu.
Jak już wspomniałem w poprzednim wpisie Jenkins posiada bardzo dużą 🙂 liczbę wtyczek. Przedstawione przeze mnie założenia spełnia wtyczka Validating String Parameter. Teraz można zamienić dotychczasowe parametry na te które zostaną zdefiniowane przy pomocy zainstalowanej wtyczki.
jenkins_kalkulator_job1
Oprócz standardowych opcji znanych z String parameter dostępne są dwie dodatkowe. Wyrażenie regularne które musi spełniać wprowadzana wartość oraz tekst komunikatu przy wprowadzeniu niepoprawnej wartości. W przypadku kalkulatora ma być możliwe wprowadzanie tylko liczb całkowitych.
jenkins_kalkulator_job1
Jeżeli mimo walidacji uruchomimy zadnie otrzymamy.
jenkins_kalkulator_job1
Oczywiście zgodnie z założeniami nasze build zakończy się porażką.
Dodatkowo w tym miejscu chciałbym zwrócić uwagę na pewien aspekt konfiguracyjny. Adres www pod jakim „mamy” wystartowanego Jenkinsa ma być zgodny z tym co jest wpisane w konfiguracji Jenkinsa.
W moim przypadku localhost (127.0.0.1) jest tożsame z xps15 (pod takim właśnie adresem dostępny jest Jenkins) dlatego w konfiguracji powinien być podany adres.
jenkins_kalkulator_job1
Jeżeli w przeglądarce będziemy używać innego adresu niż tego podanego w konfiguracji to część funkcjonalności oferowanych przez wtyczki/Jenkinsa może w niektórych przeglądarkach nie działać prawidłowo. Przykładowo w Chrome otrzymamy błąd No ‚Access-Control-Allow-Origin’ header is present on the requested resource oraz nie pojawi się komunikat z walidacją!
jenkins_kalkulator_job1